9

我有一个已经有 slimscroll 的容器,以及一个用于将新项目添加到最后一个元素的按钮。我希望 slimscroll 的滚动条始终从底部开始。请问有什么帮助吗?:(

<div>
  <ul id="item-container">
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
    <li>item 4</li>
    <li>item 5</li>
  </ul>
</div>

<input type="text" placeholder="add another item" id="add-input"/>
<button id="add-btn">Add</button>

非常需要帮助:(

http://jsfiddle.net/qh8ye/1/

4

3 回答 3

16

我解决了这个问题,看来我每次添加新项目时只需在底部添加此代码。干杯! 谢谢!@gulty

var scrollTo_int = itemContainer.prop('scrollHeight') + 'px';
    itemContainer.slimScroll({
    scrollTo : scrollTo_int,
    height: '200px',
    start: 'bottom',
    alwaysVisible: true
});

http://jsfiddle.net/qh8ye/3/

于 2014-04-20T04:49:03.867 回答
6

这对我来说已经足够了:

$('#messagelist').slimScroll({
        start: 'bottom'
});

谢谢meetmahpuppy!

于 2015-02-13T15:46:15.877 回答
4

同意 Admir,根据slimscroll 文档 启动选项定义为

start - 顶部或底部或 $(selector) - 定义滚动条的初始位置。当设置为底部时,它会自动滚动到可滚动容器的底部。

这仅适用于 Slimscroll 初始化。如果要在初始化后调整 Slimscroll 位置,则可以使用scrollTo选项。

var container = $(selector);

container.slimScroll({
  scrollTo: container[0].scrollHeight
});

每次更改 Slimscroll 位置时,它都会显示一段时间的滚动条,然后将其淡出,这显然会分散注意力。为此,您可以使用此替代方法

var container = $(selector);

container.scrollTop(container[0].scrollHeight);

于 2016-07-25T16:14:05.430 回答