2011-09-03 55 views
0

我正在使用Jay Salvats vegas插件(http://vegas.jaysalvat.com)生成全屏背景。無法解析函數中的變量

而不是靜態地設置背景圖片src,我想生成6個隨機圖像。

下面的img變量正在工作(即使有點低效);不過,我似乎無法將該變量輸出到src。

請幫忙。

$(function() { 
    var img1 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img2 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img3 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img4 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img5 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img6 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 


$.vegas('slideshow', { 
    delay: 8000, 
    backgrounds: [ 
     { src: '+img1+', fade: 4000 }, 
     { src: '+img2+', fade: 4000 }, 
     { src: '+img3+', fade: 4000 }, 
     { src: '+img4+', fade: 4000 }, 
     { src: '+img5+', fade: 4000 }, 
     { src: '+img6+', fade: 4000 } 
    ] 
})('overlay'); 

}); 

回答

2

爲什麼你把變量名放在一個字符串中?這將導致圖像的來源爲+img1+而不是變量的實際值。

$(function() { 
    var img1 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img2 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img3 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img4 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img5 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 
    var img6 = new String("/images/bg/"+Math.floor(Math.random()*101) + ".png"); 


$.vegas('slideshow', { 
    delay: 8000, 
    backgrounds: [ 
     { src: img1, fade: 4000 }, 
     { src: img2, fade: 4000 }, 
     { src: img3, fade: 4000 }, 
     { src: img4, fade: 4000 }, 
     { src: img5, fade: 4000 }, 
     { src: img6, fade: 4000 } 
    ] 
})('overlay'); 

}); 
+0

感謝。我以爲我嘗試過,但我不認爲它是由於某種原因加載圖像。我會再試一次。 – daddia