Nivoslider update or restart or even destroy
Asked Answered
Q

1

1

I'm having some issues when trying to renew the nivoslider when loading dynamic content. What I need to do is update the slider when I load new content in through an AJAX call.

So basically I have a div that gets new data in from a function AJAX call and after the load I would need the slider to reinitialize.

What I do right now is this:

if ($('#imageSlider').find('div.nivo-slice').length > 0) {
    $('#imageSlider').data('nivoslider').stop();
    $('#imageSlider').removeData('nivo:vars');
    $('#imageSlider').removeData('nivoslider');
    $('#imageSlider').attr("class","");
    $('#imageSlider').attr("style","");
}

$('#imageSlider').html(newImages);

and then a call to $('#imageSlider').nivoSlider();

It kinda works but the rotation gets stuck on one picture only and sometimes it just doesn't load. Any help on this would be greatly appreciated.

Quincy answered 28/6, 2011 at 13:48 Comment(0)
T
2

I found a solution for that . Instead of replacing only images inside I replaced html inside . So like made new nivoslider content and it works for me. Then initlize again nivoslider with all parameters

After ajax response -

    j('.slider-wrapper').html('');
    j('.slider-wrapper').html(request); 

    j('#slider').nivoSlider({
        effect: 'fade', // Specify sets like: 'fold,fade,sliceDown'
        slices: 15, // For slice animations
        boxCols: 8, // For box animations
        boxRows: 4, // For box animations
        animSpeed: 5, // Slide transition speed
        pauseTime: 3000, // How long each slide will show
        startSlide: 0, // Set starting Slide (0 index)
        directionNav: true, // Next & Prev navigation
        directionNavHide: true, // Only show on hover
        controlNav: false, // 1,2,3... navigation
        controlNavThumbs: false, // Use thumbnails for Control Nav
        controlNavThumbsFromRel: false, // Use image rel for thumbs
        controlNavThumbsSearch: '.jpg', // Replace this with...
        controlNavThumbsReplace: '_thumb.jpg', // ...this in thumb Image src
        keyboardNav: true, // Use left & right arrows
        pauseOnHover: true, // Stop animation while hovering
        manualAdvance: false, // Force manual transitions
        captionOpacity: 0.8, // Universal caption opacity
        prevText: 'Prev', // Prev directionNav text
        nextText: 'Next', // Next directionNav text
        beforeChange: function(){}, // Triggers before a slide transition
        afterChange: function(){}, // Triggers after a slide transition
        slideshowEnd: function(){}, // Triggers after all slides have been shown
        lastSlide: function(){}, // Triggers when last slide is shown
        afterLoad: function(){} // Triggers when slider has loaded
});
Territorial answered 6/9, 2011 at 10:51 Comment(1)
If I use above after ajax call I get an error: Uncaught ReferenceError: request is not definedBenignity

© 2022 - 2024 — McMap. All rights reserved.