2013-03-06 69 views
0

我使用的是JavaScript的倒计时功能,显示了一个名为秒最近与JavaScript的

文本框里面的时候,我有两个按钮有prev和next我想减去JavaScript或使圆图一个整数值的数值10个数字,如果我按prev按钮,并添加10个数字,如果我点击下一个按钮脚本是好的,并计算完美的数字,但我需要添加数字更改为一个圆形的数字,如果秒值是56,我点击上一个按钮所以负值将是46,但我需要它改变40.如果与下一个按钮,如果秒是46它将增加10数字,它变成56,但我需要它从这60怎么办?这里是我的脚本

<script type="text/javascript"> 
var t; 

function countdown() 
{ 
    $('#sec').val(parseInt($('#sec').val()) + 1); 
    t = setTimeout("countdown();",1000); 
    sec = document.getElementById('sec'); 
    if($('#sec').val()>=1 && $('#sec').val()<10) {$('.thought').load('somefile.php?limit=0'); } 
    else if($('#sec').val()>=10 && $('#sec').val()<20){$('.thought').load('somefile.php?limit=1');} 
    else if($('#sec').val()>=20 && $('#sec').val()<30){$('.thought').load('somefile.php?limit=2');} 
    else if($('#sec').val()>=30 && $('#sec').val()<40){$('.thought').load('somefile.php?limit=3');} 
} 

$(document).ready(function(){ 
    countdown(); 
    $('.thought_prev_btn').click(function(){ 
     var second = Math.floor(parseInt($('#sec').val()) - 10); 
     $('#sec').val(second); 
    }); 
}); 
</script> 

我已经使用math.floor()功能,但仅与十进制值工作

+0

((num-decrement)/ decrement)* decrement),您可以使用Math.max函数设置最小值 – Triode 2013-03-06 07:54:01

+1

Just and idea。您可以尝试将它转换为小数点(例如,除以10),并在您需要较低值时使用Math.floor()函数,当您需要较高值时使用Math.ceil(),然后将其乘以返回10. – 2013-03-06 07:54:16

+0

谢谢Dzulqarnain你的诡计的作品,我已经使小数第一,然后转换与Math.floor() – 2013-03-06 08:09:03

回答

1

要使用floorceil比单位以外的任何精度,除以十的相关电源,然后再乘以之后。我喜欢用这些辅助功能:

function floor(num,power) { 
    var p = Math.pow(10,power||0); 
    return Math.floor(num/p)*p; 
} 

function ceil是相似的,只是Math.ceil而不是Math.floor

然后我可以打电话,例如,floor(123,1),我会得到120
floor(12345,3)将返回12000
floor(12.345,-1)将返回12.3

基本上第二个参数是位置的小数点数应在被切断的左侧的数目。

+0

我有两位数的数字,我该怎么办? – 2013-03-06 07:54:43