2014-08-28 134 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