1

在加载动态内容时尝试更新 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();

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

4

1 回答 1

2

我找到了一个解决方案。我没有只替换里面的图片,而是替换了里面的 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
});
于 2011-09-06T10:51:42.510 回答