2011-09-14 56 views
0

我用jQuery製作了一個簡單的圖片幻燈片。我需要「下一步」按鈕來執行完全相同的功能,我使用上面的每個圖像點擊。由於我不喜歡,我無法解決問題。回想一個函數

Demo

$('.show').each(function(){ 
     var $this = $(this); 
     $this.children('li').hide().eq(0).show(); 

     var activeli = $this.find('li'); 

     activeli.click(function() { 
       var $this = $(this); 
       var $next = $this.next(); 
       if ($next.length === 0) { 
         $next = $this.parent().children(':first'); 
       } 
       $this.hide(); 
       $next.show(); 
     }); 

     // My issue is there 
     $('.next').click(function() { 
       activeli.click(); 
     }); 

}); 
+0

究竟是什麼問題? –

+0

首先,當你調用它的.click()(在這兩種情況下)時,你並不需要$()在「activeli」周圍。其次,將.click事件添加到您在html頁面中找到的所有li元素。我想,你應該只有一個活動元素。爲此,您應該爲活動元素添加一種特殊的CSS樣式,以將其單獨出來。 – Ibolit

回答

1

您可能要篩選activeli被點擊什麼,但:

$('.next').click(function() {activeli.filter(":visible").trigger("click");} 

是基礎知識,注意,你不需要包裝activeli使用jQuery,因爲你擁有它已經當你首先找到李。

+0

它部分解決了這個問題,但正如你所看到的[有很多幻燈片](http://jsbin.com/etajuv/8/edit),'.next'按鈕與最近的'ul.show'沒有關聯。 '$ this.children('。next')'不起作用。我怎樣才能做到這一點 ? – rooofl

+0

我會這樣做:http://jsbin.com/etajuv/9/edit你需要找到連接下一個和你的滑塊togheter的東西,所以我添加了一個包裝,並重寫你的腳本尋找包裝和它的內容。 – voigtan

+0

當然,感謝您的幫助。 – rooofl

相關問題