光滑块刷新不起作用

时间:2017-09-26 08:12:35

标签: jquery slider

“slider.refresh()”无法处理灯光滑块中的点击事件。文档具有此刷新功能,但我收到此错误

未捕获的TypeError:slider.refresh不是函数     在HTMLDivElement。

$(document).ready(function() {
var slider = $(".content-slider").lightSlider({
    loop:false,
    keyPress:true,
    verticalHeight:500,
    item:1,
    auto:false,
    adaptiveHeight: true,
    enableTouch: true,
    enableDrag: false,
    freeMove:true,
});

   // Save note show div
    $('.save-note').click(function() {
        $(this).closest('.col-sm-12').
        find('.note-section').removeClass('hide').fadeIn('slow');
        slider.refresh();
   });
});

提前致谢

2 个答案:

答案 0 :(得分:2)

再次声明该滑块将在容器内导致该滑块的新实例。

  1. 您需要将滑块的实例保存在窗口范围内的全局变量中:

    window.globals = {
        gallery: ""
    };
    
  2. 初始化滑块后,将其保存到创建的globals对象中:

    var slider = $("#lightSlider").lightSlider();
    
    window.globals = {
        gallery: slider
    };
    
  3. 然后,当您需要刷新滑块时,可以这样称呼它:

    globals.gallery.refresh();
    

与其余可用方法相同,例如:

    globals.gallery.goToSlide(1);

答案 1 :(得分:0)

您必须再次声明滑块var:

// Save note show div
    $('.save-note').click(function() {
        $(this).closest('.col-sm-12').
        find('.note-section').removeClass('hide').fadeIn('slow');
        var slider = $(".content-slider").lightSlider(); // declare var again
        slider.refresh();
   });