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

时间:2010-07-23 01:31:07

标签: jquery

我想基本上把我所有的李升起来,而最重要的是,它会附加到底部,这将是即将到来的事件的轮换。

这是我到目前为止所拥有的。它将第一个滑动并将其附加到ul的末尾,但随后它每隔1000毫秒继续将相同的li附加到ul。

为什么它不继续滑动第一个?我假设我必须以某种方式使用实时功能?

$(document).ready(function() {

    function scroll() {
        $('#events ol li:first').slideUp();

        $('#events ol li:last').appendTo($('#events ol'));
    }


    setInterval(scroll, 1000);
});

2 个答案:

答案 0 :(得分:4)

你需要稍微修改一下,以便在向上滑动后追加自己,就像这样:

$(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()完成后,回调运行,它接受元素,显示它(因为它隐藏在.slideUp()的末尾)并执行.append()它的父母......把它移到最后。

答案 1 :(得分:2)

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

demo

$(document).ready(function() {

    function scroll() {
      $('#events ol li:first-child').slideUp(function(){
        $(this).appendTo($('#events ol')).show();
      });       
   }

   setInterval(scroll, 1000);​
});
相关问题