0

div の表示が none に設定されている場合、JavaScript 関数を呼び出すにはどうすればよいですか?

これは私が持っているコードです:

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

myFunction();

}

if ステートメントを使用して (アクション スクリプトの ENTER_FRAME イベントと同様に) 毎回繰り返す関数を考えていましたが、それでは多くの遅延が発生すると思います。

よくわからない場合は申し訳ありません。

4

3 に答える 3

2

残念ながら、スタイルの変更をリッスンするネイティブな方法はないと思います。いくつかのプロキシ関数を作成します。divを非表示または表示する場合は、スタイルを直接設定するのではなく、これらのプロキシ関数を呼び出してください。

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

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

setIntervalを使用したポーリングに関するCoomieの提案は、プロセッサ効率が良くありません。

于 2011-08-22T06:43:07.870 に答える
0

ここで言うのに役立つことを考え出そうとしています。

基本的に、この種のことを試みる必要がないように、ソフトウェアを試して設計する必要があります。

おそらく最も簡単な方法は、ジョジョの提案を採用することです。

別のアプローチは、少し抽象化を追加することです。これにより、div が非表示になる原因が何であれイベントが発生し、イベントの 1 つのリスナーが div を非表示にし、別のリスナーが他のアクションを実行します。

于 2011-08-22T06:50:12.097 に答える
0

2つのオプションを考えることができます。

  1. 上記のものは setInterval で呼び出されます。

または

  1. プログラムによるイベントを待っているのですから、myDiv を表示すると同時に myFunction を呼び出してみませんか?
于 2011-08-22T06:41:41.063 に答える