我想在jQuery的帮助下显示一些效果(动画),应该根据特定针的多少结果来计算。规则是效果应该持续不超过5分钟,至少持续5秒。
所以,这就是我特别做的。我在数据库中搜索用户输入的特定单词并计算结果。然后我在同一个数据库中搜索自己定义的单词并计算结果。如果后者的结果多于前者的结果,我需要计算显示效果的时间。后者的结果越多,效果持续的时间就越长。另外,我需要遵守规则:不超过5分钟,不少于5秒。
我最需要的是准确。
这可能是一个愚蠢的问题,但我不知道如何计算时间! :)
答案 0 :(得分:1)
$(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包含结果集的大小
这就是你想要的?