【问题标题】:JQuery slim scroll doesn't scroll to the last elementJQuery slim滚动不会滚动到最后一个元素
【发布时间】:2018-07-26 05:09:47
【问题描述】:

我有一个带有左侧栏的仪表板。该栏有很多元素(包括内部列表等)。显然,它不适合这么小的区域。解决方案是使用 JQuery 的细长滚动条。但是,我遇到的问题是无法滚动到栏中的最后一个元素。

栏看起来像这样(不滚动)

现在看看内部元素打开时的样子:

看到了吗?无法正确看到最后一个元素(尽管它是可点击的)。不幸的是,“修复”它的唯一方法是在初始化这些东西时使用一些参数。现在看起来像这样:

$('.elemToAddScrolling').slimScroll({
            height: '100%',
            wheelStep: 5,
        });

基本上,我看到该库生成 div 元素 - 其中之一是 slimScrollBar - 正是我所寻找的。我看到它具有top 属性,并且每当我滚动它时它都会改变。不过,最大值是107px(当我们到达“终点”时)。我使用这个插件的最新版本 - 1.3.8 真的有办法自定义它吗?

【问题讨论】:

  • 问题转载here。你有这个.elemToAddScrolling100vh 容器中吗?代码笔中的高度错误来自身体的填充。如果您在设置中应用 CSS 重置,问题就消失了。
  • 感谢您的回复,但我的容器有两种样式位置:固定;高度:100%;
  • 身上没有可以抵消的东西?无论如何,这是一个猜测。如果您在 slimScroll 设置中尝试100vh?也许……
  • 我确定那是关于在某处填充...我不敢相信插件有这么愚蠢的问题。
  • 好吧,看来你是对的。外包装有padding-top:44px 但我无法摆脱它,否则整个页面,包括内容、左侧栏和顶部栏都会上升。

标签: javascript jquery scroll slimscroll


【解决方案1】:

问题被转载here

所以很明显这是来自父元素的填充问题。现在是哪一个?在 codepen 中,它是主体......在 J. Doe 的项目中,它位于一个外包装上,他发现了一个 44 像素的填充。

问题已通过将margin-top:-44px 应用于内部容器来解决...将整个东西向上移动。

但是,另一种方法是在 slimScroll 设置中应用 height: calc(100% - 44px)!它可以接受,如你所见here

【讨论】:

    猜你喜欢
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 2016-01-22
    • 2011-10-04
    相关资源
    最近更新 更多