Javascript 动态更新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

我们希望动态更新nivo滑块的过渡类型、暂停时间等。我们正在调用链接单击事件函数。此函数为:

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元素,因为旧数据已绑定到它,并用新数据替换它,然后再次将其作为滑块。