【问题标题】:JScrollPane reinitializationJScrollPane 重新初始化
【发布时间】:2013-09-10 16:24:49
【问题描述】:

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

  1. 有一个没有'height'属性的大容器,它是 .jScrollPane
  2. 里面有很多's。
  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;
}); 

【问题讨论】:

    标签: jquery jscrollpane


    【解决方案1】:

    我认为你调用你的 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;
    }); 
    

    等待您的反馈。

    【讨论】:

    • 是的,谢谢。使用了错误的类...并且您的方式正常工作(var api = $('.all_model').data('jsp'); api.reinitialise();)
    猜你喜欢
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多