代码之家  ›  专栏  ›  技术社区  ›  Catfish

将列表向上滑动并将第一个项目附加到列表末尾

  •  1
  • Catfish  · 技术社区  · 14 年前

    我想基本上滑动我的所有李的上和上,将附加到底部,这将是一个即将到来的活动轮转。

    这就是我目前为止所拥有的。它将第一个LI向上滑动,并将其附加到UL的末尾,但随后每隔1000 ms,它就会将相同的LI附加到UL。

    为什么第一辆车不停地往上滑呢?我假设我必须以某种方式使用活动函数??

    $(document).ready(function() {
    
        function scroll() {
            $('#events ol li:first').slideUp();
    
            $('#events ol li:last').appendTo($('#events ol'));
        }
    
    
        setInterval(scroll, 1000);
    });
    
    2 回复  |  直到 14 年前
        1
  •  4
  •   Nick Craver    14 年前

    在向上滑动之后,您需要将其向上稍微更改一点以附加自身,如下所示:

    $(function() {
      function scroll() {
        $('#events ol li:first').slideUp(function() {
          $(this).show().parent().append(this);
        });
      }
      setInterval(scroll, 1000);
    });
    

    You can see it in a demo here . 我们要做的是 .slideUp() 完成后,回调运行,它接受元素,并显示它(因为它隐藏在 SLUDUP() ) .append() 把它自己移到它的父母那里…把它移到最后。

        2
  •  2
  •   Reigel Gallarde    14 年前

    我看到的一个错误是你在最后一个 li ,追加最后一项不会有任何区别,因为它已经是最后一项了…

    demo

    $(document).ready(function() {
    
        function scroll() {
          $('#events ol li:first-child').slideUp(function(){
            $(this).appendTo($('#events ol')).show();
          });       
       }
    
       setInterval(scroll, 1000);​
    });