move(arr_img[0],0,0);
move(arr_img[1],1,1)
move(arr_img[2],2,2)
move(arr_img[3],3,3)
move(arr_img[4],4,4)
//arr_img[i]分别是5个img元素
function move(elem,j,i){
elem.animate({marginLeft:-170*(i+1)},4000*(i+1),'linear'
,function(){$(this).css("margin-left",690);
})
setTimeout(move(elem,i,j),10);
}
为什么只有arr_img[1]运行了动画,其他几个都没有???
难道因为是无限循环??那怎么能让四个元素分别同时执行动画??
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的问题在于没有正确地「在异步循环中使用递归」,
move方法没有办法退出正确的方法
希望有所帮助~ :)
Settineout使用不正确,10毫秒改为10 *i,也就是第一个10毫秒,第二个20毫秒……