这个时间怎么计算?

时间:2011-02-12 03:50:36

标签: math

我想在jQuery的帮助下显示一些效果(动画),应该根据特定针的多少结果来计算。规则是效果应该持续不超过5分钟,至少持续5秒。

所以,这就是我特别做的。我在数据库中搜索用户输入的特定单词并计算结果。然后我在同一个数据库中搜索自己定义的单词并计算结果。如果后者的结果多于前者的结果,我需要计算显示效果的时间。后者的结果越多,效果持续的时间就越长。另外,我需要遵守规则:不超过5分钟,不少于5秒。

我最需要的是准确。

这可能是一个愚蠢的问题,但我不知道如何计算时间! :)

2 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/rCVnv/3/

$(function(){
   var firstNum = Math.random()*10000,
       secondNum = Math.random()*10000,
       result = parseInt(secondNum - firstNum),
       milli = 0;

    if(result > 0){
        if(result < 300000 && result > 5000){
            milli = result;
            $("#test").fadeOut(result);  
        }else if(result > 300000){
             milli = 300000; 
        }else if(result < 5000){
           milli = 5000;   
       }

       $("#test").fadeOut(milli);
   }

$("#result").text("Result :  " + result); 

});

我不确定你将如何计算所需的毫秒数。我在这里做的是生成2个随机数,并从第二个值中减去第一个值。如果结果在300000毫秒(5分钟)和5000毫秒之间,那么它只会在该数字处淡化。如果超出这些范围,则将其设置为高端或低端。当然,如果结果是否定的,则没有任何反应,因为值​​1大于值2.

我还使用了fadeOut,可以很容易地用animate替换。

答案 1 :(得分:0)

var intSecondsPerResult = 2;
var intAnimationDuration = intSecondsPerResult*{$intResultsCount};
if(intAnimationDuration < 5) {
    intAnimationDuration = 5;
} else if(intAnimationDuration > 300) {
    intAnimationDuration = 300;
}

PS:$ intResultsCount包含结果集的大小

这就是你想要的?