查看gitHub上的源码,如果加上这个方法,就可以停止现有的slider,然后根据新的img,再调用$('#slider').nivoSlider({})重新加载
this.clear = function() { stop(); clearInterval(timer); slider.removeData('nivo:vars'); slider.removeData('nivoslider'); slider.attr("class", ""); slider.attr("style", ""); $(".nivo-controlNav,.nivo-main-image,.nivo-directionNav").remove(); slider.find(".nivo-caption").remove(); }回复
Cannot read property 'substr' of undefined
通过看源码,可以在幻灯片切换之前的回调函数beforeChange中,重新计算nivo-slice的宽度及背景位置。
(以下代码中nivo-slice的宽度已通过媒体查询设置过了,只是重新计算背景位置):
$('#slider').nivoSlider({ 'controlNavThumbs': true, 'beforeChange': function() { // 动画前重新布置slider位置,图片自适应容器 var sliceWidth = $('#slider .nivo-slice').width() for (var i = 0; i < 15; i++) { if (i === 15) { $('#slider .nivo-slice').eq(i).css({ left: (sliceWidth * i) + 'px', width: (slider.width() - (sliceWidth * i)) + 'px' }) } else { $('#slider .nivo-slice').eq(i).css({ left: (sliceWidth * i) + 'px', width: sliceWidth + 'px' }) } } } })
你好,请问这些参数怎么修改呢?我想尝试看修改切换效果,代码如下。但是没有效果
$('#slider').nivoSlider(function(){ effect:"fold" });