1

如何检测 div 是否在任何时间更改了&display之间的样式(不是在单击、鼠标悬停等时)?noneblock

我试过了

if ($('#div').css('display') == 'block') {
    $("#div2").css({"visibility": "hidden"});
}

它只检查一次,但如果display没有发生任何事情,则在 10 秒后更改。

4

3 回答 3

0

你可以试试window.setInterval()

这可能会有所帮助:SelfHTML reference to setInterval

于 2013-07-14T00:01:29.110 回答
0

演示在这里

function change() {
    if ($('#div').css('display') == 'block') {
        $("#div2").css('display', 'none');
    } else {
        $("#div2").css('display', 'block');
    }
    setTimeout(change, 1000);
}
setTimeout(change, 1000);
$('#change').click(function () {
    $("#div").toggle(function(){$("#div1").css('display', 'inline')});
});

这将if每 1 秒(1000 毫秒)检查一次您的查询。

于 2013-07-14T00:23:09.177 回答
0

另外可能值得注意的是,有一种更像 jquery 的方法来执行此操作:

if (!$('#div1').is(':hidden')) {
    $('#div2').hide();
}
于 2013-07-14T00:31:57.577 回答