使用 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/