Nivoslider 更新或重启甚至销毁

发布于 2024-11-17 10:32:16 字数 615 浏览 2 评论 0原文

我在加载动态内容时尝试更新 nivoslider 时遇到一些问题。我需要做的是当我通过 AJAX 调用加载新内容时更新滑块。

所以基本上我有一个 div,它从函数 AJAX 调用中获取新数据,加载后我需要滑块重新初始化。

我现在做的是这样的:

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

然后调用 $('#imageSlider').nivoSlider();

它有点工作,但旋转只卡在一张图片上,有时它就是不'负载。对此的任何帮助将不胜感激。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请爱~陌生人 2024-11-24 10:32:16

我找到了解决方案。我没有只替换里面的图像,而是替换了里面的html。就像制作了新的 nivoslider 内容一样,它对我有用。然后使用所有参数再次初始化 nivoslider

在 ajax 响应之后 -

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

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
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文