无法解析函数中的变量

时间:2011-09-03 00:13:36

标签: parsing var

我正在使用Jay Salvats vegas插件(http://vegas.jaysalvat.com)生成全屏背景。

我想生成6个随机图像,而不是静态设置背景图像src。

下面的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' );

} );

1 个答案:

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

} );