2017-05-24 6 views
-1

javascriptが必要なのは、DOMオブジェクト上で条件 ":visible"を探し、DOMオブジェクトが実際に表示されているときにのみコードを実行するときです。Javascript WhileまたはIfの設定間隔関数を実行するには

これまでのコードです。

if (("#rightPanel").is(":visible") == true){ 
    // It's visible, run fetch on interval! 
    setInterval(function() { 
    updateChatField() 
    }, 500); 
} else { 
    // Do Nothing! 
}; 

希望する効果を得るために調整する必要はありますか?今のところ私は("#rightPanel").isが機能していません。

+3

'$'が存在しないようです。 '$( '#rightPanel')' –

+2

'(" #rightPanel ")' – JDTLH9

答えて

2

あなたは$看板忘れてしまった:

if ($("#rightPanel").is(":visible") == true){ 
    // It's visible, run fetch on interval! 
    setInterval(function() { 
    updateChatField() 
    }, 500); 
} else { 
    // Do Nothing! 
}; 
+0

の前にドル記号が必要だと確信しています。すでにドル記号を試したことが追加されているはずです。 – Hangfish

+0

そして、あなたはまだ "'( "#rightPanel")を取得します。is is a functionではありませんか? – Sventies

0

を私が正しく理解している場合、実際に、あなたは常に要素が可視に変化したとき、それが検出され、実行される間隔を必要としています。ページが読み込まれた後だけinit()を呼び出し、それを起動するためにその後

var $rightPanel; // cache the element 

function checker() { 
    if ($rightPanel.is(":visible")) 
     updateChatField(); 
} 

function init() { 
    $rightPanel = $("rightPanel"); // cache 
    window.setInterval(checker, 500); 
} 

:私のようなものをお勧めしたいです。