2012-02-12 141 views
0

我有這個JavaScript函數來顯示一系列背景圖像。 我想要的是改變爲每個頁面與PHP序列。在這種情況下,我想用bg_x_ps.jpg中的x代替1至8範圍內的數字。 每個背景必須具有唯一編號。更改背景圖像的序列

$.vegas('slideshow', { 
    delay: 34000, 
    backgrounds: [ 
     { src: "http://sionvalais.com/images/bg_2_ps.jpg", fade: 4000 }, 
     { src: 'http://sionvalais.com/images/bg_4_ps.jpg', fade: 4000 }, 
     { src: 'http://sionvalais.com/images/bg_5_ps.jpg', fade: 4000 }, 
     { src: 'http://sionvalais.com/images/bg_7_ps.jpg', fade: 4000 } 
    ] 
})('overlay'); 
+0

你爲什麼想在代數字使用PHP,而不只是使用JavaScript本身? – iDifferent 2012-02-12 13:23:10

+0

你有試過什麼嗎? – 2012-02-12 15:10:22

回答

1

試着這麼做:

$(document).ready(function() { 

... 

var indices = [], x; 
while(indices.length < 4) { 
    x = parseInt(Math.ceil(Math.random() * 8), 10); 
    x = (x == 0) ? 1 : x; 
    if(indices.indexOf(x) == -1) indices.push(x); 
} 

$.vegas('slideshow', { 
    delay: 34000, 
    backgrounds: [ 
     { src: "http://sionvalais.com/images/bg_"+indices[0]+"_ps.jpg", fade: 4000 }, 
     { src: "http://sionvalais.com/images/bg_"+indices[1]+"_ps.jpg", fade: 4000 }, 
     { src: "http://sionvalais.com/images/bg_"+indices[2]+"_ps.jpg", fade: 4000 }, 
     { src: "http://sionvalais.com/images/bg_"+indices[3]+"_ps.jpg", fade: 4000 } 
    ] 
})('overlay'); 

... 

}); 
+0

如果我想顯示12個圖像中的4個序列(圖像)。我是否需要將8更改爲12? – mark 2012-02-12 18:19:23

+0

是的,您可以更改8以匹配序列中圖像的總數。 – techfoobar 2012-02-13 05:02:59

0

只需在PHP數組中創建圖像順序即可。然後解析它爲json(也許與json_encode())並將其發送到您的JavaScript。