简体   繁体   中英

jquery supersized stop_loop redirect?

i have four images slides and i want to redirect once finish sliding. how?

sample code:

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
    });
});

According to the Supersized documentation , the stop_loop settings is a boolean to say whether to "pause" once the last slide is reached, it doesn't take a callback to be run at the end of the loop and the way you included the code there in your question is a syntax error.

I don't see anything in the doco about a way to receive a notification when the slideshow reaches its end, so the only thing that comes to mind (other than altering the Supersized source) is a 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);    
});

That is, figure out how long the whole slideshow should take and run your redirection code after that amount of time. Your code didn't specify any slides, but I've added an array variable where they could be specified and used that array's length in calculating the delay.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM