jQuery slimScroll总是从底部开始

时间:2014-04-15 16:02:17

标签: 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>

急需帮助:(

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

3 个答案:

答案 0 :(得分:10)

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

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

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

答案 1 :(得分:6)

这对我来说已经足够了:

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

感谢meetmahpuppy!

答案 2 :(得分:3)

同意Admir,根据slimscroll documentation 开始选项定义为

  

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

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

&#13;
&#13;
var container = $(selector);

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

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

&#13;
&#13;
var container = $(selector);

container.scrollTop(container[0].scrollHeight);
&#13;
&#13;
&#13;