2017-05-04 90 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); 

});