【问题标题】:Jquery Nice scroll not workingJquery漂亮的滚动不起作用
【发布时间】:2012-08-08 10:34:12
【问题描述】:

我正在为 div 使用 Jquery nice Scroll bar,但是当 div 的内容动态增加时,它不会显示滚动条。如果我删除漂亮的滚动条,Windows 默认滚动条可以正常工作。 谁能帮我解决这个问题?

HTML

<div id="div-to-scroll">
</div>

脚本

$(document).ready(function(e) {
    var nice = $("#div-to-scroll").getNiceScroll();
    $("#div-to-scroll").niceScroll();
    $("#div-to-scroll").getNiceScroll().resize();
});

这是我的代码示例。

【问题讨论】:

  • sry ;-) 我坚持当前的代码状态 :-)
  • hmm 应该使用简单的 $("#div-to-scroll").niceScroll(); ...奇怪
  • id 或类 div-to-scroll ? ;-)
  • 对不起,我忘了改它的id

标签: jquery nicescroll


【解决方案1】:

最后这对我有用。

$("#div-to-scroll").scroll(function(){
  $("#div-to-scroll").getNiceScroll().resize();
});

【讨论】:

    【解决方案2】:

    对我来说只适用于

    $("#div-to-scroll").mouseover(function() {
        $("#div-to-scroll").getNiceScroll().resize();
    });
    

    【讨论】:

    • mouseover 是从哪里来的?
    【解决方案3】:

    更新:发现新功能!

     var setScroll = function(i) {
            if($(i).length>0)
            $(i).niceScroll().updateScrollBar();
    } 
    

    调用该函数更新 niceScroll

    setScroll(".classWithNiceScroll");
    

    【讨论】:

      【解决方案4】:

      一些可能的原因:
      1-也许你忘了指定你的 div 高度。修复您的 div 高度。
      2- 如果您的 div 是浮动宽度,也请修复该宽度。
      请记住,您的 DIV STYLE 应该有:overflow-y: hidden;
      更新
      每次向下滚动时尝试使用 resize() 函数:

      $("div-to-scroll").slideDown(function(){
        $("div-to-scroll").getNiceScroll().resize();
      });
      

      【讨论】:

      • 是的,我所做的一切。问题是当窗口加载时它可以工作,但是在我开始附加内容后它不起作用。
      • @keyuratcodebins.com 追加内容后会发生什么?它是停止滚动还是同时显示所有内容?
      • @keyuratcodebins.com 每次向下滚动时尝试使用 resize() 函数
      • 我有同样的问题,我发现如果我在 chrome 上切换标签并返回它开始工作。有什么想法吗?
      【解决方案5】:

      这样做:

      // Scroll X Axis 
      $("#mydiv").getNiceScroll()[0].doScrollLeft(x, duration);
      // Scroll Y Axis - 
      $("#mydiv").getNiceScroll()[0].doScrollTop(y, duration);
      

      或:

      // Scroll X Axis 
      $("#mydiv").getNiceScroll(0).doScrollLeft(x, duration);
      // Scroll Y Axis - 
      $("#mydiv").getNiceScroll(0).doScrollTop(y, duration);
      

      注意[0]getNiceScroll()之后

      【讨论】:

        【解决方案6】:
        $("html").mouseover(function() {
            $("html").getNiceScroll().resize();
        });
        

        获取全身滚动条

        【讨论】:

        • 第二行多了一个#
        • @Raptor 是的,只需遵循语法即可。 (选择器在这里无关紧要)
        猜你喜欢
        • 2017-03-30
        • 2015-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多