簡體   English   中英

jQuery Supersized:如何使用從LI創建的數組?

[英]jQuery Supersized: how to use array created from LI?

我正在使用Jquery Supersized插件,並希望有一種更好的方法來創建使用的圖像列表。

我在這里找到了同樣的問題jQuery Supersized:從LI加載圖像,但是我在實施解決方案時遇到了麻煩。

我有這樣的圖像名稱的UL:

<ul id="slide_list">
<li><div class="slide_src">pic1.jpg</div>
<div class="slide_head">head 1</div></li>

<li><div class="slide_src">pic2.jpg</div>
<div class="slide_head">head 2</div></li>

<li><div class="slide_src">pic3.jpg</div>
<div class="slide_head">head 3</div></li>

</ul>

然后,我使用提供的代碼jfriend00從此列表創建數組:

var slides = [];           
$("ul .image").each(function() {
    var this$ = $(this);
    var obj = {};
    obj.image = this$.text();
    obj.title = this$.nextAll(".slide_src").text();
    obj.thumb = this$.nextAll(".slide_head").text();
    slides.push(obj);
});​​​​​​​​​​​​​​​

我的問題是,當我嘗試在超大號腳本中使用此slides數組時,出現錯誤“'slides'is undefined”

我的超大型代碼如下所示:

jQuery(function($){
    $.supersized({

        //Functionality
        slideshow               :   1,      //Slideshow on/off
        autoplay                :   1,      //Slideshow starts playing automatically
        start_slide             :   1,      //Start slide (0 is random)
        random                  :   0,      //Randomize slide order (Ignores start slide)
        slide_interval          :   5000,   //Length between transitions

        //Components
        navigation              :   0,      //Slideshow controls on/off
        thumbnail_navigation    :   0,      //Thumbnail navigation
        slide_counter           :   0,      //Display slide numbers
        slide_captions          :   0,      //Slide caption (Pull from "title" in slides array)
        slides                  : slides
    }); 
});

(為簡便起見,我刪除了一些超大型選項代碼)。

在控制台中顯示slides數組的內容向我展示
[object Object],[object Object],[object Object]所以我知道我做錯了...

如果我使用這個: slidesDisp = JSON.stringify(slides)

那么該數組將在控制台中完美顯示[{"image":"pic1.jpg","title":"head 1"},{"image":"pic2.jpg","title":"head 2"},{"image":"pic3.jpg","title":"head 3"}]但是當我在超大型腳本中使用它時,什么也沒有發生

slides: slidesDisp

任何建議,我在做什么錯了?

您的HTML與您的JavaScript不匹配,沒有.image類,並確保不要在其他DOM ready范圍內.image超大插件:

$(function() {

    var slides = [];    

    $("ul .slide_src").each(function() {
        var $this = $(this);
        var obj = {};
        obj.image = $this.text();
        obj.title = $this.next(".slide_head").text();
        slides.push(obj);
    });​​​​​​​​​​​​​​​

    $.supersized({
        // ...........other options
        slides                  : slides
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM