0

現在、サイトでフルスクリーンの画像スライドショーを使用しています。初期テストはうまく機能し、以下のコードはこれがどのように機能するかを示しています。

$.vegas( 'slideshow' , {
    backgrounds:[
    { src:'/uploads/images/1397/lmwp_02.jpg', fade:1000 },
    { src:'/uploads/images/1397/lmwp_03.jpg', fade:1000 },
    { src:'/uploads/images/1397/lmwp_04.jpg', fade:1000 }
    ]
})('overlay');

私たちがやりたいことは、CSM から動的に画像を書き込むことです。私が現在これを行っているのは、次のような単純なリストを吐き出すことです。

<ul id="homeSlides">    
    <li><a href="/uploads/images/001.jpg">001</a></li>
    <li><a href="/uploads/images/002.jpg">002</a></li>
</ul>

私たちがする必要があるのは、この画像のリストを取得し、それを $.vegas backgrounds:[] 関数リストに挿入することです...

以下のコードを試してみたところ、画像のリストを取得できましたが、それを $.vegas 関数にどのように取り込めばよいかわかりません。

var homeImgURLs = [];
    $('#homeSlides li a').each(function(index) {
    homeImgURLs.push('{ src:' + $(this).attr('href') + ', fade:1000}');
});

したがって、ここに投稿します。どんな助けでも大歓迎です。

4

1 に答える 1

3

このようなものは、トリックを行う必要があります:

var homeImgURLs = [];
$('#homeSlides li a').each(function(index) {
  homeImgURLs.push({
    src: $(this).attr('href'),
    fade: 1000
  });
});

$.vegas( 'slideshow' , {
  backgrounds: homeImgURLs
})('overlay');

あなたの例ではhomeImgURLs、オブジェクトをプッシュしたいときに文字列を配列にプッシュしていました。

于 2012-07-05T11:10:14.400 に答える