1

我正在使用切换功能,这样当我单击一个按钮时会显示一个 div,而当我再次单击该按钮时它会隐藏。但问题是我在 div 中还有一个关闭 div 的关闭按钮,这意味着当我单击按钮时,切换不完整,当我尝试通过该切换按钮再次打开 div 时,它首先完成切换意味着再次隐藏已经隐藏的 div 然后再次显示它,有什么解决方案吗?

$(".stngs").toggle(function() {
    $(".stngsubmenu").css({
        display: 'block'
    });
}, function() {    
    $(".stngsubmenu").css({
        display: 'none'
    });
});​
4

2 回答 2

7

根据http://api.jquery.com/toggle/您可以将布尔值传递给切换

$(".stngs").toggle($(".stngsubmenu").is(':visible'));

或者

$(".stngs").toggle($(".stngsubmenu").is(':hidden'));

true 将显示元素, false 将隐藏.is()函数将返回布尔值的元素

$(".stngsubmenu").is(':visible')// <-- 如果可见则返回true

$(".stngsubmenu").is(':hidden')// <-- 如果隐藏则返回true

http://jsfiddle.net/wirey00/KXPBq/

于 2012-08-10T16:25:18.313 回答
2

您可以使用以下内容检查是否隐藏了某些内容

if ( $('#mydiv').is(':hidden') ) {
    //do something
}
于 2012-08-10T16:22:06.227 回答