簡體   English   中英

在繼續功能之前如何檢查元素長度是否已更改-Javascript

[英]How to check that element length has changed before continuing function - Javascript

有沒有一種方法可以暫停功能以檢查元素的狀態,並僅在狀態更改后才繼續?

這是我的功能:

JS

 download : function() { 

    var loading         = $('#stats-table > div > div.jtable-busy-message').html();

        while (loading.length > 0) {
            alert("Table still loading, please wait to download report"); 
            loading = $('#stats-table > div > div.jtable-busy-message').html(); 
        }

        // continue with the rest of the function here

    }

我應該在上面的函數中替換示例性的while循環,以便在繼續執行該函數之前暫停該函數並檢查loading.length進行更改。

要獲取信息, loading變量的長度可以為180因此只需檢查此長度變化即可。

因此,在長度變化之前,不要與方法主體的其余部分繼續。

更新

我找到了一種簡單的方法,因此不再需要任何答案-謝謝

不,JavaScript(主要是)是單線程的,除非其他代碼對其進行了更改,否則狀態更改是不可能的。 任何此類更改都不會發生“中間功能”。 您的while循環只會導致瀏覽器永久鎖定。

如果您正在等待異步加載操作完成,則您的代碼需要從該操作的完成回調中繼續。

$.fn.exists = function(callback) {
  var args = [].slice.call(arguments, 1);

  if (this.length) {
    callback.call(this, args);
  }

  return this;
};

// Usage
$('div.test').exists(function() {
  //do your stuff 
});
​

這可能對您有幫助:)

暫無
暫無

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

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