0

当 div 的显示设置为无时,如何调用 JavaScript 函数?

这是我的代码:

if(document.getElementById("myDiv").style.display == "none"){

myFunction();

}

我在想有一个每次都重复的函数(类似于 actionscript ENTER_FRAME 事件),其中包含 if 语句,但我想这会带来很多滞后。

对不起,如果我不够清楚。

4

3 回答 3

2

不幸的是,我不相信有一种原生的方式来倾听风格的变化。我会创建一些代理功能。每当你想隐藏或显示 div 时,调用这些代理函数,而不是直接设置样式。

function hideMyDiv() {
    document.getElementById("myDiv").style.display = "none";
    myFunction();
}

function showMyDiv() {
    document.getElementById("myDiv").style.display = "block";
}

Coomie 建议使用 setInterval 进行轮询不会提高处理器效率。

于 2011-08-22T06:43:07.870 回答
0

我可以想到2个选项。

  1. 上面的内容是用 setInterval 调用的。

或者

  1. 既然您正在等待程序化事件,为什么不在显示 myDiv 的同时调用 myFunction?
于 2011-08-22T06:41:41.063 回答
0

试着在这里说点有用的东西。

基本上,您想尝试和设计您的软件,这样您就不需要尝试和做这类事情。

可能您最简单的方法是采用 JoJo 的建议。

另一种方法是添加一点抽象,以便任何会导致隐藏 div 的事件都会引发事件,事件的一个侦听器隐藏 div,另一个执行您的其他操作。

于 2011-08-22T06:50:12.097 回答