向下滑动一组隐藏的
  • 一次一个
  • 发布于 2024-12-19 00:04:49 字数 412 浏览 2 评论 0原文

    我想通过单击按钮一次滑下一些李。

    我用我目前拥有的东西模拟了一些 http://jsfiddle.net/S5T7N/

     <div id="dropdown">
    
    
        <h1>when you click here</h1>
    
        <ul>
        <li>We</li>
        <li>Will</li>
        <li>Slide Down</li>
        <li>One At A Time</li>
        </ul>
      </div>
    

    I would like to slide down some li's one at a time on clicking a button .

    I mocked up a little fiddle with what I currently have http://jsfiddle.net/S5T7N/ .

     <div id="dropdown">
    
    
        <h1>when you click here</h1>
    
        <ul>
        <li>We</li>
        <li>Will</li>
        <li>Slide Down</li>
        <li>One At A Time</li>
        </ul>
      </div>
    

    如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

    扫码二维码加入Web技术交流群

    发布评论

    需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

    评论(3

    十秒萌定你 2024-12-26 00:04:49

    slideDown() 函数有第二个参数,它是动画完成时执行的回调函数。只需使用该功能滑动下一个:

    var slide = function(who)
    {
        who.slideDown('slow', function(){
           var next = $(this).next('li');
           if (next)
               slide(next);
        });
    }
    
    $("#dropdown h1").click( function() {
        slide($('li:first'));
    })
    

    工作演示:http://jsfiddle.net/S5T7N/6/

    The slideDown() function has a second argument, which is a callback function to execute when the animation finishes. Just use that function to slide the next one:

    var slide = function(who)
    {
        who.slideDown('slow', function(){
           var next = $(this).next('li');
           if (next)
               slide(next);
        });
    }
    
    $("#dropdown h1").click( function() {
        slide($('li:first'));
    })
    

    Working demo: http://jsfiddle.net/S5T7N/6/

    拿命拼未来 2024-12-26 00:04:49

    看看这个 JSFiddle

    $("#dropdown h1").click( function() {
        var lis = $(this).next('ul').find('li');
    
        $(lis).each(function(index) {
            var li = $(this);
    
            setTimeout(function() {
                li.slideDown(500);
            }, 500 * index);
        });
    } )
    

    这将循环遍历每个 li 并设置一个超时,为每个 li 等待不同的时间。当前设置为 500 毫秒,因为这是动画的时间。这些值应该保持不变以获得连续的动画。

    Have a look at this JSFiddle.

    $("#dropdown h1").click( function() {
        var lis = $(this).next('ul').find('li');
    
        $(lis).each(function(index) {
            var li = $(this);
    
            setTimeout(function() {
                li.slideDown(500);
            }, 500 * index);
        });
    } )
    

    This loops through each li and sets a timeout that waits for a different time for each li. It's currently set to 500ms, as that's the time of the animation. These values should stay the same to get a continuous looking animation.

    情栀口红 2024-12-26 00:04:49
    $("#dropdown h1").click( function() {
        var sliderTimer=300;
        $("li").each(function()
                     {
                      $(this).slideDown(sliderTimer);
                         sliderTimer+=300;
                     });
    } );
    

    现场演示

    $("#dropdown h1").click( function() {
        var sliderTimer=300;
        $("li").each(function()
                     {
                      $(this).slideDown(sliderTimer);
                         sliderTimer+=300;
                     });
    } );
    

    Live demo

    ~没有更多了~
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文