Javascript HTML中的iFrame
我在html中使用iFrame。将不同的html页面加载到iFrame中。在该html页面中我有图像。每当我将图像加载到iFrame中时,我都会闪烁 我们可以通过使用iFrame来停止闪烁吗Javascript HTML中的iFrame,javascript,html,Javascript,Html,我在html中使用iFrame。将不同的html页面加载到iFrame中。在该html页面中我有图像。每当我将图像加载到iFrame中时,我都会闪烁 我们可以通过使用iFrame来停止闪烁吗 怎么办?嗯,我不完全确定你想要消除哪种闪烁,但我想这与浏览器加载有关,然后用图像显示你的新页面 除了将下一幅图像加载到背景上的另一个iframe中,然后在当前可见和新加载的iframe之间切换之外,我想不出任何好的方法 更大的问题是,为什么需要使用iframe?您是否正在从您不拥有的站点加载内容?如果不是,
怎么办?嗯,我不完全确定你想要消除哪种闪烁,但我想这与浏览器加载有关,然后用图像显示你的新页面 除了将下一幅图像加载到背景上的另一个iframe中,然后在当前可见和新加载的iframe之间切换之外,我想不出任何好的方法
更大的问题是,为什么需要使用iframe?您是否正在从您不拥有的站点加载内容?如果不是,请考虑Ajax和其他这样的技术。
有一些事情可以帮助解决这个问题。
首先,确保指定图像的宽度和高度。然后,浏览器将为图像保留空间,而不是在已知图像大小时调整保留空间的大小如果您想提供一个示例,我们可以在必要时讨论预加载。您可以通过向。一旦启动onLoad回调,您将能够淡入iframe及其内容。这就是延迟加载的工作原理。例如:
<script>
function showImage() {
var iframe = document.getElementById('ifrm');
iframe.style.opacity = 1; // using opacity. You can transition this
iframe.style.display = 'block' // using display. No transition
}
</script>
#ifrm {
opacity: 0; // Before the iframe load, make sure it is not visible
transition: 0.3s // This will make your iframe fade in on load
}
在上面的示例中,Iframe将呈现您的内容。一旦上述iframe完成加载,它将尝试调用名为showImage的函数。您所要做的就是在脚本文件中定义showImage。现在可以使用此函数查找iframe DOM节点,并更改样式使其淡入或显示display:block。例如:
<script>
function showImage() {
var iframe = document.getElementById('ifrm');
iframe.style.opacity = 1; // using opacity. You can transition this
iframe.style.display = 'block' // using display. No transition
}
</script>
#ifrm {
opacity: 0; // Before the iframe load, make sure it is not visible
transition: 0.3s // This will make your iframe fade in on load
}
希望这有帮助