2017-07-31 77 views
1

我想在加載iframe的時候顯示一個loading.gif。iframe加載時顯示加載符號並更改其來源?

我這樣做的代碼,我發現在這裏:Show a loading gif while iframe page content loads

這工作。但在我的網站上,我有複選框和單選按鈕。當用戶點擊其中一個時,iframe會更改它的來源並被刷新。問題是,加載符號僅在整個頁面加載時纔可見,而不是在iframe更改它的源代碼並刷新get時纔可見。我該如何解決這個問題?

<style> 
#loadImg{position:absolute;z-index:999;} 
#loadImg div{display:table-cell;width:950px;height:633px;background:#fff;text-align:center;vertical-align:middle;} 
</style> 
<div id="loadImg"><div><img src="loading.gif" /></div></div> 
<iframe border=0 name=iframe src="html/wedding.html" width="950" height="633" scrolling="no" noresize frameborder="0" onload="document.getElementById('loadImg').style.display='none';"></iframe> 

代碼從周杰倫,view full answer here

+0

做一個單獨的事件,當加載時觸發gif。 – Difster

+0

在更改iframe的源代碼之前,請使用此代碼'document.getElementById('loadImg')。style.display ='block';'以便它再次可見。 – debute

回答

4

我沒有測試這一點,但據我所知,jQuery的上(「負載」)的事件觸發時的iframe被重新加載。因此,而不是使用onload作爲屬性,使用此:

$("#frameId").on("load", function() { 
    console.log("reloaded"); // Here you can display the loading.gif file 
})