javascript - 如何更改 jQuery toggle() 状态

标签 javascript jquery toggle

使用 toogle 显示/隐藏 div,我遇到了一个问题,当我用另一个函数隐藏我的 div 时,我必须点击按钮两次才能执行正确的操作。

有没有办法像我点击按钮那样改变切换开关?

$('#add_task').toggle(function() { 
    if ($("#new_task_status").attr("value")==0) { 
        $("#new_task").slideDown();
        $("#new_task_status").attr("value", "1");
    }
}, function() {
    if ($("#new_task_status").attr("value")==1) { 
        $("#new_task").slideUp();
        $("#new_task_status").attr("value", "0");
    }
});


$('nav').click(function() { 
    if ($("#new_task_status").attr("value")==1) { 
        $("#new_task_status").attr("value", "0");
        $("#new_task").slideUp();
    }
});

最佳答案

您可以更改您的 .toggle()所以没关系,像这样:

$('#add_task').click(function() { 
  $("#new_task").slideToggle(function() {
    $("#new_task_status").val($(this).is(':visible') ? 1 : 0);
  });
});

这是一个 slideToggle()相反,所以当前状态并不重要......当它完成滑动时,如果它显示(你打开它)你会在输入中得到一个 1 ,否则你会得到一个 0。另外,使用 .val()对于输入设置,更容易和更通用(我假设它是这里的输入,因为这很可能)。

关于javascript - 如何更改 jQuery toggle() 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2920725/

相关文章:

javascript - 带有 .find() 的正则表达式,没有结果

jquery - 使用 jQuery 添加或删除属性来隐藏/显示项目

javascript - 如何用Javascript替换多个图像并改回来

javascript - javascript 中 Math.cos 函数将度数转换为弧度时出现问题

javascript - 如何在html表主体部分中显示数据库中的所有记录

javascript - 如何使用JavaScript将文件作为多部分文件上传到后端?

javascript - Soundcloud 流媒体音频

javascript - Firebase 的云功能 : functions. pubsub.topic ('testTopic' ).onPublish 未调用

jquery - colorbox在firefox中多次加载同一文档

javascript - ExtJS:如何切换 html View