2013-02-12 25 views
0
<html> 
<body> 
<script> 
setTimeout(function(){ 
document.body.style.background = <img src="1.jpg"</img> 
},33); 
</script> 
</body> 
</html> 

我想知道如何讓圖像出現在setTimeout之後。由於JScript超時觸發器<img>

回答

2

試試這個:

setTimeout(function() { 
    document.body.style.backgroundImage = "url('1.jpg')"; 
}, 33); 
+2

真。 [測試用例](http://jsfiddle.net/5G2kF/)。 – 2013-02-12 14:15:28

+0

欣賞測試用例:) – 2013-02-12 14:17:47

0

像這樣的事情會做到這一點:

setTimeout(function(){ 
    document.body.style.background="url(1.jpg)"; 
},33); 

Demo

注意,超時以毫秒爲單位。對於用戶來說,與直接通過CSS添加背景相比,33毫秒可能不會有明顯的區別。

0

爲了設置背景圖像,您需要使用CSS background-image屬性。鑑於您沒有提供CSS樣式表,並且您希望通過JavaScript動態更改屬性,您需要使用style屬性。

此W3C wiki Dynamic style - manipulating CSS with JavaScriptstyle屬性有很好的說明。它具有許多與CSS屬性相對應的屬性。考慮到style屬性的CSS屬性名稱在CamelCase中定義,所以background-image實際上是backgroundImage

因此,以動態地設置背景圖片的document.body元素,你可以使用document.body.style.backgroundImage="url('1.jpg')";

(你的計時器功能已經不行了)