更改背景图像的顺序

时间:2012-02-12 12:38:48

标签: php javascript jquery

我有这个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' );

2 个答案:

答案 0 :(得分: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' );

...

});

答案 1 :(得分:0)

只需在PHP数组中构建图像顺序即可。然后将其解析为json(可能与json_encode())并将其发送到您的javascript。