查看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"
});