2013-10-01 31 views
1

我試圖從頭開始創建這個輪播,現在就有這個。如何在jquery中設置循環?

<script type="text/javascript"> 
    $(document).ready(function() { 
     setTimeout(function() { 
      $('.carousel-inner li').animate({ 
       right: '580px' 
       }, 500);     
     }, 3000); 

     $('#right').click(function() { 
      $('.carousel-inner li').animate({ 
       right: '580px' 
       }, 500); 
     }); 
     $('#left').click(function() { 
      $('.carousel-inner li').animate({ 
       left: '0px' 
       }, 500); 
     });  
    }); 
</script> 

它點擊「#right」和「#left」,但只有一次。我想讓它工作,當我再次點擊「#下一步」時,它再次移動。

這裏是Fiddle

回答

2

Insead of left: '0px' use left: '-=580px'。 而你在哪裏有right: '580px'left: '+=580px'。但是用戶將能夠將你所有的李的外部可見區域轉移,你將需要一些if。

+0

左:' - = 580px'不會讓它迴歸它只是繼續前進。 – andresr

+0

這使它的工作表示感謝。你能幫我開始使用if嗎?對於從何處開始他們毫無頭緒。還是我必須重新編寫代碼?提前致謝。 – andresr

+0

不要想太多,我會建議這樣的: 'var n = 1;'(全球) 無處不在,有'left:+ = 580px'放 'if if(n <= 0) 返回; n - ;'在函數的開頭。哪裏有'left: - = 580px'把 'if if(n> = 3) return; n ++;' 常數3,你可能會根據塊的數量(我從小提琴拿它)改變。也可以正確命名計數器變量。 –

0

你應該使用$('.carousel-inner li').offset()發現元素的當前位置,並把它添加到您希望通過移動元素的值。