在加载iframe之前显示loading.gif

时间:2012-02-05 08:28:58

标签: javascript jquery css iframe gif

所以我有这个按钮,点击它会发送到下一张幻灯片(void(0))。下一张幻灯片是iframe,只有在您点击按钮时才会加载。 在iframe完全加载之前,动画GIF应该显示,然后在内容完全加载后隐藏。

在我的情况下,永远不会显示GIF。在iframe完全加载之前,它是完全空白的。有什么问题?

这是脚本:

<script type="text/javascript"> 
    function hideLoading() { 
        document.getElementById('loading').style.display = "none"; 
        document.getElementById('edtwo').style.display = "block"; 
    } 
</script> 

按钮:

<span id="nextBtn1"><a href="javascript:void(0);"
onClick='document.getElementById("edtwo").src="ed2.html";'></a></span>

下一张幻灯片包含GIF和iframe:

<li><div id="loading"><img src="_img/loading.gif" alt="Loading"/></div>
<iframe id="edtwo" onload="hideLoading()";></iframe></li>

1 个答案:

答案 0 :(得分:0)

问题是您的 iframe 最初显示(并且还添加到DOM树中)。尽管它是空的 src 属性,但它将加载空页并执行 onload 事件处理程序。因此,您将通过调用hideLoading隐藏指示器。

正如您在this exmaple中所看到的那样,onload触发器没有点击链接。

您可以从DOM树中删除框架,并在用户单击“下一步”按钮时添加框架,或者在此时将 .style.display 更改为清空gif加载程序的字符串(以显示它)。

相关问题