2013-12-16 96 views
0

此代码应该使用来自/ images/bg /文件夹的任何.jpg图片,但是它似乎不会在特定分辨率下拍摄图片......任何建议?js body随机背景图片

<!--random background images from a folder--> 

<script type="text/javascript"> 
     var totalCount = 5; 
     function ChangeIt() { 
      var num = Math.ceil(Math.random() * totalCount); 
      document.body.background = 'images/bg/' + num + '.jpg'; 
      document.body.style.backgroundSize = "cover"; 
     } 
</script> 
+0

欢迎来到Stack Overflow。你真的是指分辨率(每英寸像素),还是你的意思是大小(像素)?你观察到什么阈值分离的图像,工作和图像不?请[编辑]你的问题来澄清。 –

回答

4

Demo

document.body.background已过时,它应该是document.body.style.background和你给予它的格式是错误的。尝试

document.body.style.background = 'url(images/bg/' + num + '.jpg)'; 

下也适用,并且不移除背景的其他属性,如backgroundSize例如,这样你就不需要行document.body.style.backgroundSize = "cover";只要它在第一位置设置。

document.body.style.backgroundImage = 'url(images/bg/' + num + '.jpg)'; 

所以,你的代码会读

<script type="text/javascript"> 
    document.body.style.backgroundSize='cover'; 
    document.body.style.backgroundRepeat='no-repeat'; // i've assumed this 
    var totalCount = 5; 
    function ChangeIt() { 
     var num = Math.ceil(Math.random() * totalCount); 
     document.body.style.backgroundImage = 'url(images/bg/' + num + '.jpg)'; 
    } 
</script> 

虽然,最好你的机盖,并在CSS文件中没有重复。

+3

虽然你的答案是正确的,但我想通过指出document.body.background已被弃用来扩展它。使用document.body.style.background ='url(...)';代替。 – seanxe

+0

@seanxe谢谢。 – Popnoodles

1

使用document.body.style.backgroundImage =“url('”+'images/bg /'+ num +'.jpg'+“)”;

(谷歌关于css背景图片)。