2013-07-06 70 views
0

我想要得到一個隨機的背景圖像。但是當我加載頁面時,我的背景是空的。 這是我的代碼:背景圖像不變

<html> 
    <head> 
     <script> 
     function random_imglink(){ 
      var myimages=new Array(); 
      myimages[1]="images/1.png"; 
      myimages[2]="images/2.png"; 
      myimages[3]="images/3.png"; 
      myimages[4]="images/4.png"; 
      var count=Math.floor(Math.random() * myimages.length); 
      if (count==0){ 
       count=1; 
      } 
      document.write("'" + myimages[count] + "'"); 
     } 
     </script> 
     <link rel="stylesheet" type="text/css" href="styles.css" /> 
    </head> 

    <body background=random_imglink()> 
     <?php include ("header.php"); ?> 
     <div align="center" > 
      <?php include ("main.php"); ?> 
      <?php include ("footer.php"); ?> 
     </div> 
    </body> 
</html> 

我希望有人得到了一個解決這個問題?

+0

'if(count == 0){count = 1;}' - just'count ++' – mishik

+0

同時使用'return'而不是'document.write()'這裏不錯,關於使用'document.write' http://www.sophox.com/wordpress/?p=551 – david

+0

感謝文章@david。這非常有用。 – Johannes

回答

2

你的腳本標籤中添加此:

window.onload = function() { 
    var imgs = [ 
     'images/1.png', 
     'images/2.png', 
     'images/3.png', 
     'images/4.png' 
    ]; 
    document.body.style.background = 'url(' + imgs[Math.round(Math.random() * (imgs.length - 1))] + ')'; 
} 

How to set background in css

不要忘記檢查,如果真的存在的圖像。

+0

太棒了。這工作。非常感謝你! – Johannes

+0

你很好,不要忘記按下按鈕:) – micnic

+0

它說我需要15點聲望。當我可以的時候會回來投票。 – Johannes

0
<script> 
window.onload=function(){ 
var myimages=new Array(); 
myimages[1]="images/1.png"; 
myimages[2]="images/2.png"; 
myimages[3]="images/3.png"; 
myimages[4]="images/4.png"; 
var count=Math.floor(Math.random() * myimages.length); 

if (count==0){ 
count=1;} 
document.body.style.backgroundImage="url('" + myimages[count] + "')"; 
} 

</script>