jQuery slimScroll总是从底部开始

mee*_*ppy 8 javascript jquery html5 css3 slimscroll

我有一个容器已经有一个slimscroll,还有一个按钮可以将新项目添加到最后一个元素.我希望slimscroll的scrollBar始终从底部开始.有什么帮助吗?:(

<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>
Run Code Online (Sandbox Code Playgroud)

急需帮助:(

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

mee*_*ppy 12

我解决了这个问题,似乎我每次添加新项目时都必须在底部添加此代码.干杯! 谢谢!@gulty

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

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


小智 6

这对我来说足够了:

$('#messagelist').slimScroll({
        start: 'bottom'
});
Run Code Online (Sandbox Code Playgroud)

谢谢meetmahpuppy!


小智 5

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

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

这仅在 Slimscroll 初始化时有效。如果你想在初始化后调整Slimscroll位置,那么你可以使用scrollTo选项。

var container = $(selector);

container.slimScroll({
  scrollTo: container[0].scrollHeight
});
Run Code Online (Sandbox Code Playgroud)

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

var container = $(selector);

container.scrollTop(container[0].scrollHeight);
Run Code Online (Sandbox Code Playgroud)