我知道这对你们中的一些人来说很简单,所以请帮助我! 我有3个面板(div),我想从一个按钮一个接一个地滑动。滑动一个面板很容易,但如何按顺序滑动多个div? 感谢。
答案 0 :(得分:8)
给3个div一个类“.slide_panel”这将循环遍历它们并对它们执行动画。
$("#button").click(function()
{
var i = -1;
var arr = $(".slide_panel");
(function(){
if(arr[++i])
$(arr[i]).animate({ left: "300px" }, 100, "linear", arguments.callee)
})();
});
答案 1 :(得分:1)
即使我非常喜欢Kane's solution,如果您不了解JavaScript语言的“匿名函数”和arguments.callee功能,您可能会发现它很难理解。
以下也有效:
$('#slideDiv').click(
function(e)
{
e.preventDefault();
var i = -1;
var divList = $(".slide");
var animationCallback = function()
{
if(++i < divList.length)
$(divList[i]).slideUp('slow', animationCallback);
//Replace 'slideUp' with any other animation of your choice. Make sure to pass 'animationCallback' as the last parameter.
//e.g. you can do
//$(divList[i]).animate({ left : '300px'}, 100, 'linear', animationCallback);
};
animationCallback();
}
);
修改强>
更新了演示页面。添加了关于如何使用不同动画的评论。