Javascript 动态更新nivo滑块参数
我们希望动态更新nivo滑块的过渡类型、暂停时间等。我们正在调用链接单击事件函数。此函数为:Javascript 动态更新nivo滑块参数,javascript,jquery,plugins,nivo-slider,Javascript,Jquery,Plugins,Nivo Slider,我们希望动态更新nivo滑块的过渡类型、暂停时间等。我们正在调用链接单击事件函数。此函数为: function fnSetPauseTime(navType) { var getSec = $('#setSliderTime').val(); getSec = (getSec) * 1000; var sliderId = $('#' + IdParent).children().attr('id'); $('#' + sliderId).attr('pause
function fnSetPauseTime(navType) {
var getSec = $('#setSliderTime').val();
getSec = (getSec) * 1000;
var sliderId = $('#' + IdParent).children().attr('id');
$('#' + sliderId).attr('pauseTime', getSec);
var transType = $('#changeTrans').val();
//var transType = $('.controlNav').is('checked');
var getSec = $('#setSliderTime').val();
slideShow(sliderId, getSec, transType, navType);
}
这是调用上述函数的单击事件
$('.controlNav').click(function () {
var navType = $(this).val();
if (navType == 'thumbNav') {
navType = 'true';
} else {
navType = 'false';
}
fnSetPauseTime(navType);
//slideShow(sliderId, '');
});
这是nivo slider.js文件中的默认幻灯片放映功能
function slideShow(sliderId, getSec, transType, navType) {
$('#' + sliderId).nivoSlider({
effect: 'random',
slices: 15,
boxCols: 8,
boxRows: 4,
animSpeed: 500,
pauseTime: 3000,
startSlide: 0,
directionNav: navType,
controlNav: navType,
controlNavThumbs: navType,
pauseOnHover: true,
manualAdvance: false,
prevText: 'Prev',
nextText: 'Next',
randomStart: false,
beforeChange: function () {},
afterChange: function () {},
slideshowEnd: function () {},
lastSlide: function () {},
afterLoad: function () {}
});
}
问题:我们无法动态更新参数,也没有任何错误。加载文件(即第一次)时,它可以工作。不确定错误是什么,或者我们完全错了。请建议解决方案。在初始化滑块之前,只需销毁节点并替换它即可
//Save the DOM node before a slider is binded to it
var slider = $('#' + sliderId).clone();
function slideShow(sliderId, getSec, transType, navType) {
var newSlider = slider.clone(),
var oldSlider = $('#' + sliderId);
oldSlider.after(newSlider);
oldSlider.remove();
newSlider.nivoSlider({
...
}
}
你是什么意思?初始化后更改行为?是的,我在初始化时更改,在初始化后单击调用函数。这是一个模板生成器应用程序,用户可以在其中创建HTML模板。在这里,用户可以选择幻灯片并设置要在网站上显示的首选项。因此,当他选择一个选项或点击一个按钮时,我需要更改参数。我没有完全理解你。你能详细说明一下吗!!它似乎只初始化了一次,第二次尝试并没有覆盖该行为,因此也没有提供
destroy
方法。剩下的就是删除DOM元素,因为旧数据已绑定到它,并用新数据替换它,然后再次将其作为滑块。