这是我的问题的快速和紧张:
$("a").toggle(function() { /*function A*/ }, function() { /*function B*/ });
在function A
表单内显示.如果用户成功完成表单,则表单将再次隐藏(返回其原始状态).
里面function B
相同的形式是隐藏的.
这背后的理论是用户可以选择显示表单并填写表单,或者他们可以再次单击并让表单重新隐藏.
现在我的问题是:目前,如果用户成功填写表单 - 并且它进入隐藏状态 - 用户必须先点击链接两次才能返回显示表单的切换状态.
无论如何以编程方式将切换开关重置为初始状态?
您可以使用查看jQuery中的切换状态.is(":hidden")
.所以在我使用的基本代码中:
$("#div_clicked").click(function() { if ($("#toggle_div").is(":hidden")) { // do this } else { // do that } }); # add missing closing
jQuery有两种.toggle()
方法:
.toggle()
切换每组匹配的元素.如果显示它们,则切换会隐藏它们.如果它们被隐藏,则切换会显示它们.
.toggle(even, odd)
每隔一次点击两次函数调用之间切换.
在这种情况下,你想要第一个.像这样的东西应该做的伎俩:
$("a").click(function() { $("#theForm").toggle(); });
这是我用过的东西:
$(document).ready(function() { $('#listing_position').click(function() { var div_form = $('#listing_position_input'); if (div_form.hasClass('hide')) { div_form.removeClass('hide'); } else { div_form.addClass('hide'); } }); });