簡體   English   中英

Javascript While或If語句與

[英]Javascript While or If statement to run a set interval function with

我需要一個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 is不是一個函數。

您忘記了$符號:

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

實際上,如果我理解正確,則您需要使間隔不斷運行,以便它可以檢測到元素何時變為可見。 我建議類似的東西:

var $rightPanel; // cache the element

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

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

然后要啟動它,只需在頁面加載后調用init()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM