2

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

  1. 有一个没有'height'属性的大容器,即.jScrollPane
  2. 里面有很多的。
  3. 我使用 .hide() 中的一些。
  4. 出现空的可滚动空间。

看起来我必须重新初始化滚动窗格。所以我尝试了'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;
}); 
4

1 回答 1

2

我觉得你调用你的 API 两次。第一次进入 $(document).ready(),第二次进入你的点击事件。并且两者都没有针对相同的元素(.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;
}); 

等待您的反馈。

于 2013-09-10T08:24:49.803 回答