2012-07-26 50 views
1

我有四個圖像幻燈片,我想重定向一次完成滑動。怎麼樣?jquery supersized stop_loop重定向?

示例代碼:

jQuery(function($){      
    $.supersized({      
     // Functionality 
     slideshow : 1, // Slideshow on/off 
     autoplay : 1, // Slideshow starts playing automatically 
     start_slide : 1, // Start slide (0 is random) 
     stop_loop : [ 
        if (data) 
        { 
         window.location = "http://www.google.com/"; 
        } 
        ], // Pauses slideshow on last slide 
     random: 0,  // Randomize slide order (Ignores start slide) 
     slide_interval : 9000, // Length between transitions 
     transition : 6, // 0-None, 1-Fade, 2-Slide Top, 3-Slide Right, 
          // 4-Slide Bottom, 5-Slide Left, 6-Carousel Right, 
          // 7-Carousel Left 
     transition_speed : 2000, // Speed of transition 
    }); 
}); 

回答

4

按照Supersized documentation,該stop_loop設置是一個布爾說是否「暫停」一旦達到最後一張幻燈片,它並不需要在要運行的回調循環的結尾和你在代碼中包含代碼的方式是語法錯誤。

我沒有看到任何DOCO約的方式,當幻燈片到達終點收到通知,讓我想到的唯一的事(不是改變超大型源等)是一個setTimeout()

jQuery(function($){ 
    var interval = 9000, 
     speed = 2000, 
     slideArray = []; // add your slides to this array 

    $.supersized({ 
     slideshow : 1, 
     autoplay : 1, 
     start_slide : 1, 
     stop_loop : true, // Pauses slideshow on last slide 
     random: 0, 
     slides : slideArray, 
     slide_interval : interval, 
     transition : 6, 
     transition_speed : speed, 
    }); 

    setTimeout(function() { 
     if (data) 
      window.location = "http://www.google.com/"; 
    }, (interval + speed) * slideArray.length);  
}); 

也就是說,找出整個幻燈片放映需要多長時間並在這段時間後運行重定向代碼。您的代碼沒有指定任何幻燈片,但我已經添加了一個數組變量,可以指定它們,並使用該數組的長度來計算延遲。

+0

當新圖像滑入視圖中時,看起來不像有事件的API回調。所以看起來像超時可能是唯一的選擇。如果你想確保你可以在間隔時間內超時,並用current_slide檢查當前幻燈片,並將其添加到數組中,一旦你點擊同一張幻燈片兩次重定向。 – jholloman 2012-07-26 04:10:53