检测css样式是否已更改

如何检测div是否在任何时间(无点击,鼠标hover等)之间改变了noneblock之间的display样式?

我试过了

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

只检查一次,但如果在没有任何反应后10秒后display更改。

在这里演示

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

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

您可以尝试使用window.setInterval()

这可能会有所帮助: SelfHTML引用setInterval

此外,值得注意的是,这样做有更多类似jquery的方法:

 if (!$('#div1').is(':hidden')) { $('#div2').hide(); }