jQuery:一个接一个地滑动面板

时间:2009-07-23 03:02:08

标签: jquery slide

我知道这对你们中的一些人来说很简单,所以请帮助我! 我有3个面板(div),我想从一个按钮一个接一个地滑动。滑动一个面板很容易,但如何按顺序滑动多个div? 感谢。

2 个答案:

答案 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)
    })();
});

Demo Page →

Code

答案 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();
    }
 );

Demo Page →

修改

更新了演示页面。添加了关于如何使用不同动画的评论。