Javascript Jquery动画被卡住了
我有两个div,我想同时前后移动它们Javascript Jquery动画被卡住了,javascript,jquery,html,css,jquery-animate,Javascript,Jquery,Html,Css,Jquery Animate,我有两个div,我想同时前后移动它们 function slideRight() { // slide to right $("div").animate({ left: "200px" }, 2000, function() { slideLeft(); }); } function
function slideRight() {
// slide to right
$("div").animate({
left: "200px"
}, 2000, function() {
slideLeft();
});
}
function slideLeft() {
// slide to left
$("div").animate({
left: "0px"
}, 2000, function() {
slideRight();
});
}
$(document).ready(function() {
$("#start").on("click", function() {
slideRight();
});
});
但是,动画在每次滑动后都会卡住并变得更慢。一个div就可以了。潜水次数越多,停留的时间越长。为什么?我认为问题在于,您的函数在另一个动画函数中调用自己,循环不断,每次调用都会导致延迟。取而代之的是,我在第二个函数上停止循环,然后用超时重新开始,这会中断循环,也会延迟,然后重新开始 尝试添加以下内容:
div {
background: yellow;
height: 100px;
position: absolute;
width: 100px;
left:0px;}
div {
background: yellow;
height: 100px;
position: absolute;
width: 100px;
left:0px;}
$("div").stop().dequeue().animate({
...