点击显示/隐藏点击jQuery

我有一个div元素,所以当我点击它时,默认隐藏的另一个div是滑动和显示,这里是动画本身的代码:

 $('#myelement').click(function(){ $('#another-element').show("slide", { direction: "right" }, 1000); }); 

当我#myelement单击#myelement时(如果已经显示元素),我将如何实现这一点,它将隐藏 #another-element如下所示:

$('#another-element').hide("slide", { direction: "right" }, 1000);

所以基本上,它应该像slideToggle一样工作,但具有show/hidefunction。 那可能吗?

toggle-event在1.8版中已弃用,在1.9版中已删除

试试这个…

 $('#myelement').toggle( function () { $('#another-element').show("slide", { direction: "right" }, 1000); }, function () { $('#another-element').hide("slide", { direction: "right" }, 1000); }); 

注意:此方法签名在jQuery 1.8中已弃用,在jQuery 1.9中已删除。 jQuery还提供了一个名为.toggle()的动画方法,可以切换元素的可见性。 是否触发动画或事件方法取决于传递的参数集, jQuery文档 。

提供.toggle()方法是为了方便起见。 手动实现相同的行为相对简单,如果.toggle()中内置的假设certificate是有限的,这可能是必要的。 例如,如果对同一元素应用两次,则无法保证.toggle()无法正常工作。 由于.toggle()在内部使用单击处理程序来完成其工作,因此我们必须取消绑定单击以删除与.toggle()附加的行为,以便可以在交火中捕获其他单击处理程序。 该实现还在事件上调用.preventDefault(),因此如果在元素上调用了.toggle(),则不会遵循链接并且不会单击按钮, jQuery docs

您可以使用show进行切换,使用click进行隐藏。 如果元素可见,则可以将条件置于可见性上,然后隐藏其他显示它。 请注意,您需要jQuery UI才能使用添加效果和show / hide之类的方向

现场演示

 $( "#myelement" ).click(function() { if($('#another-element:visible').length) $('#another-element').hide("slide", { direction: "right" }, 1000); else $('#another-element').show("slide", { direction: "right" }, 1000); }); 

或者,只需使用切换而不是单击。 通过使用切换,您将不需要条件(if-else)语句。 正如TJCrowder所建议的那样。

现场演示

 $( "#myelement" ).click(function() { $('#another-element').toggle("slide", { direction: "right" }, 1000); }); 

利用jquery切换function为您完成任务

.toggle() – 显示或隐藏匹配的元素。

 $('#myelement').click(function(){ $('#another-element').toggle('slow'); }); 

您可以使用此代码切换元素var ele = jQuery(“yourelementid”); ele.slideToggle( ‘慢’); 这对你有用:)

这对你有用

  $("#button-name").click(function(){ $('#toggle-id').slideToggle('slow'); }); 

您可以使用.toggle()函数代替.toggle() .click() ….

 $(document).ready( function(){ $("button").click(function(){ $("p").toggle(1000,'linear'); }); }); 

现场演示