我有以下javascript函数:
function kitemoving() {
setInterval(function(){
kite.animate({
top: '+=30'
},{
duration: 1500
});
kite.animate({
top: '-=30'
},{
duration: 1500
});
});
}
kitemoving();
以下是Fiddle
它只在Mozilla Firefox上运行良好所有使用此代码的动作只能使用一次。你能帮我理解为什么吗?
答案 0 :(得分:3)
不要使用间隔,您可以轻松地使fx
队列饱和。相反,使用任何完整的动画回调,例如:
var kite = jQuery('.kite');
function kitemoving() {
kite.animate({
top: '+=30'
}, {
duration: 1500
});
kite.animate({
top: '-=30'
}, {
duration: 1500
}).promise().done(kitemoving);
}
kitemoving();
答案 1 :(得分:2)
您必须为延迟参数指定一个值。
setInterval至少需要两个参数。引自another question
func
是您想要重复调用的函数。
delay
是毫秒数(千分之一秒) setInterval()函数应该在每次调用func之前等待。和。一样 setTimeout,强制执行最小延迟。指定的函数
param1, param2,
等等是其他参数 传递给func。
因此,当您省略第二个参数时,您不能指望定义的行为。
答案 2 :(得分:1)
为了让您的小提琴在Firefox中工作,您需要做的就是为<datetimepicker data-ng-model="user.join_date" data-datetimepicker-config="{ startView:'day', minView:'day' }" />
电话提供间隔金额
this.future = false;
这是一个更新的小提琴,适用于Firefox:http://jsfiddle.net/wdodmvyu/5/
答案 3 :(得分:1)
你没有指定间隔值,这就是Gecko挣扎的原因。
{{1}}