Невозможно проанализировать переменную внутри функции - PullRequest
0 голосов
/ 03 сентября 2011

Я использую плагин 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' );

} );

1 Ответ

2 голосов
/ 03 сентября 2011

Почему вы поместили имена переменных в строку? Это приведет к тому, что источником изображения будет +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' );

} );
...