2011-02-24 59 views
0

我想写一个简单的JavaScript代码片段,其延迟了图像加载的一定数量毫秒以下。javascript:简单的延迟图像显示

<html> 
<head> 
<script type="text/javascript"> 


function SetTimer() 
{ 
     var Timer = setInterval("showImage()",3000); 
} 

function showImage() 
{ 
document.getElementById('showImage').style.visibility = 'visible'; 

} 


</script> 
</head> 
<body onLoad="SetTimer()" style="visibility:hidden"> 
<div id=showImage> 
<a href="home.php"><img src="gwyneth_paltrow_2.jpg"></a> 
</div> 
</body> 
</html> 

我接近这个错误吗?

在此先感谢

回答

2

这基本上是一个好办法。 有一些错误,即:

document.getElementByID('showImage')style.visibility = 'hidden'; 

getElementByID应该是getElementById

后(“showImage”)

,以显示它您设置的知名度,“隐藏”的需求点。相反,你应该开始隐藏,然后让它出现而不是消失。

+0

你是对的,它的倒退。我做了相应的调整。 – phill 2011-02-24 04:48:06

+0

@phill - 仍然没有做你说你想要的东西,能见度状态不会延迟加载图像,它只是延迟显示它。这根本不是一回事。 – 2011-02-24 04:52:38

0
document.getElementById('showImage').style.visibility = 'hidden'; 
0

嗯,代码是倒退给出延迟图像外观的既定目标。如果我只是使用你的代码作为基础,那么我将使用CSS隐藏图像的可见性,然后触发显示器在计时器上可见。

但是,这样说...这不会延迟图像的加载,它只是延迟显示它。处理它的另一种方法是使用计时器在Javascript中加载Image对象,然后将其插入到DOM中。然后,这实际上会延迟加载图像3秒钟。这样的事情:

function showImage() 
{ 
    var myImage = new Image(); 
    myImage.src = "gwyneth_paltrow_2.jpg"; 
    document.getElementById("showImage").appendChild(myImage); 
} 

我这样做是从内存,所以语法可能不完全正确。