2017-05-04 65 views
0

我在列表末尾克隆了2个li元素,之后我想删除前2个元素。我试图实现无限轮播。我做的方法是:如何通过jQuery删除前2个li元素

  • 等待3秒
  • 转变的背景
  • 追加第2项的克隆在UL结束
  • 删除第2个列表元素(我在这个步骤中的问题)
  • 重复

这里是 jsFiddle我的尝试,但如前所述,我可以不会删除前两个元素。有什么建议么?

setInterval(function() { 
      jQuery('.view').animate({ 
      left: '-=58' 
    }); 

    jQuery('#first-tt-set').clone().appendTo(".view ul"); 
    jQuery('#second-tt-set').clone().appendTo(".view ul"); 
      if($('.view ul li').length == 10){ 
    jQuery('#first-tt-set:nth-child(1)').remove(); 
    jQuery('#second-tt-set:nth-child(1)').remove(); 
    } 

    }, 3000); 
+0

的问题是,每一个元素被删除? – John

+0

当'ul'有10个项目时,你想删除前2个列表元素? – victorlopezsanchez

+0

准确@victorlopezsanchez和问题是,它删除了最后2,无论我把第一个孩子或最后一个孩子。您可以检查开发人员工具上的行为,这是我认为通过查看dom的变体发生的情况 – Sivvio

回答

0

在你的HTML,修改:

<ul> 
    <div class="view"> 
    <ul id="list"> 
     <li class="tt-set 1"> one </li> 
     <li class="tt-set 2"> two </li> 
    </ul> 
    </div> 
    <div class="myview"> 

    </div> 
</ul> 

而且你javacript:

jQuery(document).ready(function() { 

    setInterval(function() { 
     jQuery('.view').animate({ 
      left: '-=58' 
     }); 

     jQuery('.tt-set').first().clone().appendTo(".view ul"); 
     jQuery('.tt-set').first().clone().appendTo(".view ul"); 
     if($('.view ul li').length == 10){ 
      $('#list li').first().remove(); 
      $('#list li').first().remove(); 
     } 

    }, 3000); 

});