当前位置:  开发笔记 > 前端 > 正文

jQuery Toggle State

如何解决《jQueryToggleState》经验,为你挑选了3个好方法。

这是我的问题的快速和紧张:

$("a").toggle(function() { /*function A*/ }, function() { /*function B*/ });

function A表单内显示.如果用户成功完成表单,则表单将再次隐藏(返回其原始状态).

里面function B相同的形式是隐藏的.

这背后的理论是用户可以选择显示表单并填写表单,或者他们可以再次单击并让表单重新隐藏.

现在我的问题是:目前,如果用户成功填写表单 - 并且它进入隐藏状态 - 用户必须先点击链接两次才能返回显示表单的切换状态.

无论如何以编程方式将切换开关重置为初始状态?



1> 小智..:

您可以使用查看jQuery中的切换状态.is(":hidden").所以在我使用的基本代码中:

$("#div_clicked").click(function() {
  if ($("#toggle_div").is(":hidden")) {
     // do this
  } else {
     // do that
}
}); # add missing closing



2> foxy..:

jQuery有两种.toggle()方法:

.toggle()

切换每组匹配的元素.如果显示它们,则切换会隐藏它们.如果它们被隐藏,则切换会显示它们.

.toggle(even, odd)

每隔一次点击两次函数调用之间切换.

在这种情况下,你想要第一个.像这样的东西应该做的伎俩:

$("a").click(function() {
    $("#theForm").toggle();
});


在jQuery 1.9中删除了偶数/奇数语法.http://jquery.com/upgrade-guide/1.9/

3> 小智..:

这是我用过的东西:

$(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');
        }
    });  
});

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有