JScrollPane重新初始化

时间:2013-09-10 07:40:24

标签: jquery jscrollpane

我的网站上有jScrollpane,有一个问题。我是什么意思:

  1. 有一个没有'height'属性的大容器,就是这样 .jScrollPane
  2. 在里面很多。
  3. 我使用.hide()中的一些。
  4. 显示空的可滚动空间。
  5. 看起来我必须重新初始化滚动窗格。所以我试过'api.reinitialise();'在我使用'hide()'后脚本上没有任何反应。怎么了?

    $(document).ready(function(){
        $('.all_model').jScrollPane();
    });
    
    $("#check_kitchen").click(function(){
        $( '.classic' ).show();
        $( '.modern' ).show();
        $( '.furniture' ).hide();
        $( '.technik' ).hide();
        var pane = $('.scroll-pane')
        pane.jScrollPane(settings);
        var api = pane.data('jsp');
        api.reinitialise();
       return false;
    }); 
    

1 个答案:

答案 0 :(得分:2)

我称你的API为两次。 第一次进入$(document).ready(),以及进入click事件的seconde时间。 两者都没有针对相同的元素(.all_model或.scroll-pane)。

如果您的容器是.scroll-pane,那么这应该有效:

$(document).ready(function(){
    $('.scroll-pane').jScrollPane();
});

$("#check_kitchen").click(function(){
    $( '.classic' ).show();
    $( '.modern' ).show();
    $( '.furniture' ).hide();
    $( '.technik' ).hide();
    var api = $('.scroll-pane').data('jsp');
    api.reinitialise();
   return false;
}); 

或者如果你的容器是.all_model,这应该有效:

$(document).ready(function(){
    $('.all_model').jScrollPane();
});

$("#check_kitchen").click(function(){
    $( '.classic' ).show();
    $( '.modern' ).show();
    $( '.furniture' ).hide();
    $( '.technik' ).hide();
    var api = $('.all_model').data('jsp');
    api.reinitialise();
   return false;
}); 

等待您的反馈。