2014-08-28 133 views
0

我想找到一個簡單的替代jQuery中棄用的toggle()方法。我想通過單擊一個按鈕來使元素滑動,並且當您再次單擊相同的按鈕時以另一種方式滑動。我想到了一個簡單的解決辦法是給按鈕一類的「第一」,然後有我的jQuery爲:JQuery切換按鈕不起作用

$(document).ready(function(){ 
    $(".first").click(function(){ 
     $(this).removeClass("first"); 
     $("#slider").removeClass("slideout"); 
     $("#slider").addClass("slidein"); 
     $(this).addClass("second"); 
    }); 
    $(".second").click(function(){ 
     $(this).removeClass("second"); 
     $("#slider").removeClass("slidein"); 
     $("#slider").addClass("slideout"); 
     $(this).addClass("first"); 
    }); 
}); 

它不工作,雖然。在初始點擊幻燈片執行時,當我檢查元素時按鈕的類變爲「秒」,但第二次點擊什麼也不做。如果我將「秒」應用於其他對象,則滑出效果很好。 (奇怪的是,我可以再次點擊我的原始按鈕,然後再次滑動 - 即使按鈕不再具有「第一個」類別)。我錯過了什麼嗎?

+1

速記事件處理程序(如點擊)僅添加到頁面的初始加載。如果您在頁面加載後創建新元素,則必須重新應用事件處理程序,或者如SSA所示,使用jQuery的委派方法自動爲您重新應用它們。 – Vardarac 2014-08-28 21:52:03

回答

1

使用$(document).on('click', ".second", function() {作爲第二類動態添加。

+1

感謝您的編輯。我從電話回答。 – SSA 2014-08-28 21:47:50

+0

完美 - 非常感謝! – JohnG 2014-08-28 21:51:59