我需要一个javascript,同时在DOM对象上查找条件“:visible”,并且只在DOM对象实际可见时才运行代码。
到目前为止,这是我的代码。
if (("#rightPanel").is(":visible") == true){
// It's visible, run fetch on interval!
setInterval(function() {
updateChatField()
}, 500);
} else {
// Do Nothing!
};
我需要调整什么才能达到预期的效果?现在我得到("#rightPanel").is
不是一个功能。
答案 0 :(得分:2)
您忘记了$
标志:
if ($("#rightPanel").is(":visible") == true){
// It's visible, run fetch on interval!
setInterval(function() {
updateChatField()
}, 500);
} else {
// Do Nothing!
};
答案 1 :(得分:0)
实际上,如果我理解正确,您需要间隔持续运行,以便检测元素何时变为可见。我建议像:
var $rightPanel; // cache the element
function checker() {
if ($rightPanel.is(":visible"))
updateChatField();
}
function init() {
$rightPanel = $("rightPanel"); // cache
window.setInterval(checker, 500);
}
然后启动它,只需在页面加载后调用init()
。