2015-10-15 70 views
0

所以我運行了一個非常簡單的函數atm,它在頁面加載時運行。但是,當頁面加載完成時,內容本身有時會花費半秒左右的時間來實際彈出。這通常不會是一個問題,但我的變量之一依賴於加載的內容是可以運行JS功能頁面已加載後2秒?我知道我可以使用超時,但肯定如果用戶在慢速上網,並且需要比加載頁面更長的時間,它會在它準備好之前運行?加載頁面後延遲後運行JS函數

我已經寫了,用我的代碼是在這裏:

$(window).bind("load", function() { 


    var subTotal = $("span.wsite-price").html(); 
     alert (subTotal); 

    }); 

任何幫助深表感謝。

感謝

+0

關於'DOMContentLoaded/ready','setTimeout'爲2秒,然後調用函數,請解碼這個,你會得到答案 – Tushar

+0

如果你把setTimeout調用放在窗口加載調用中,它將不會執行,直到頁面已加載。 – j08691

+3

''的HTML如何填充?也許有一種可以使用的「完成式」事件,尤其是在使用AJAX或jQuery框架的情況下。這樣,你就不會等待兩秒鐘。只要獲得信息,無論是需要10秒還是80毫秒 –

回答

0

因爲你<span class="wsite-price">200</span>沒有動態加載的,但它是靜態的HTML文檔的一部分,你當前的代碼將正常工作。在頁面完成加載之前,$(window).bind("load", function() { //code here })內部沒有任何內容被執行。

+0

在實際中似乎並不像這樣工作。 – dwinnbrown

+0

嘗試使用jQuery的'$(document).ready(function(){// code here})'而不是,看看你是否得到了期望的行爲 –