Javascript 动画间隔
我用间隔和动画制作了一个左右移动的正方形。 我不明白我怎样才能停止这段时间也许有人能帮我。 这是代码Javascript 动画间隔,javascript,jquery,Javascript,Jquery,我用间隔和动画制作了一个左右移动的正方形。 我不明白我怎样才能停止这段时间也许有人能帮我。 这是代码 $(document).ready(function () { var Right = true; var div = $("div"); var Inter; $("#Start").click(function () { Inter = setInterval(function () { if (Right) {
$(document).ready(function () {
var Right = true;
var div = $("div");
var Inter;
$("#Start").click(function () {
Inter = setInterval(function () {
if (Right) {
Right = false;
div.animate({
left: '900px'
}, "slow")
} else {
Right = true;
div.animate({
left: '0px'
}, "slow")
}
});
});
$("#Stop").click(function () {
clearInterval(Inter);
});
});
您需要使用
setInterval
指定时间间隔。没有它,您的间隔将不会被定义为浏览器通常有一个最小和强制的间隔要求。例如:
$(document).ready(function() {
var Right = true;
var div = $("div");
var Inter;
$("#Start").click(function() {
Inter = setInterval(function() {
if(Right) {
Right = false;
div.animate({left:'900px'},"slow");
} else {
Right = true;
div.animate({left:'0px'},"slow");
}
}, 500);
});
$("#Stop").click(function() {
clearInterval(Inter);
};
});
或者,如注释中所述,您可以使用div.stop()
停止动画;看起来是这样的:
$("#Start").click(function() {
if(Right) {
Right = false;
div.animate({left:'900px'},"slow");
} else {
Right = true;
div.animate({left:'0px'},"slow");
}
});
$("#Stop").click(function() {
div.stop();
};
clearInterval
不起作用还是什么?显示html代码或发布指向JSFIDDLE的链接setInterval
Inter
中指定的任何时间间隔都不会被定义div.stop()
这是我的HTML代码:code
Start-stop如果使用jquery-element.animate,则不需要设置间隔。使用element.stop代替真棒,很高兴听到!确保您在我的答案下打勾接受它。:-)