2013-10-02 44 views
1

我有一個非常簡單的幻燈片,但我需要能夠在一個頁面上有多個幻燈片。目前,jQuery忽略了額外的.archive_slideshow幻燈片。如何添加每個()

http://jsfiddle.net/LJc7g/

$(document).ready(function(){ 
    $('.slide').first().addClass('active'); 
    $('.slide').hide(); 
    $('.active').show(); 
    $('.slide').click(function(){ 
     $('.active').removeClass('active').addClass('oldActive'); 
     if ($('.oldActive').is(':last-child')) { 
      $('.slide').first().addClass('active'); 
     } 
     else { 
      $('.oldActive').next().addClass('active'); 
     } 
     $('.oldActive').removeClass('oldActive'); 
     $('.slide').hide(); 
     $('.active').show(); 
    }); 
}); 

最新最好的方法是什麼?我在正確的軌道上嗎? http://jsfiddle.net/LJc7g/1/

謝謝

+0

將其更改爲$( 「.archive_slideshow」) – Jianhong

+0

這樣嗎? http://jsfiddle.net/LJc7g/6/ – uriah

回答

1

工作的jsfiddle:jsfiddle.net/LJc7g/7

問題的關鍵是你有asigned $(本)自我,然後用它不正確。做到這一點,這將正常工作:

$(document).ready(function(){ 

    $("div.archive_slideshow").each(function() { 
     var self = $(this); 

     self.find('.slide').first().addClass('active'); 
     self.find('.slide').hide(); 
     self.find('.active').show(); 

     self.find('.slide').click(function(){ 
      self.find('.active').removeClass('active').addClass('oldActive'); 
      if ($('.oldActive').is(':last-child')) { 
       self.find('.slide').first().addClass('active'); 
      } 
      else { 
       self.find('.oldActive').next().addClass('active'); 
      } 
      self.find('.oldActive').removeClass('oldActive'); 
      self.find('.slide').hide(); 
      self.find('.active').show(); 
     }); 
    }); 
}); 
+0

http://jsfiddle.net/LJc7g/7/ –

+0

類似於我的,只是把它放在這裏稍微不同的語法,而不使用.find - http:// jsfiddle.net/LJc7g/11/ –

+0

對不起@ francisco.preller,但你有沒有回答過,我只是無法找到它,所以我沒有看到你做了什麼 –

相關問題