点击显示/隐藏点击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/hide
function。 那可能吗?
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'); }); });
现场演示