1

基本上,我使用下面的 CSS 代码创建了某种具有可滚动 DIV的Autolog

.myClass {
position: relative;
padding: 39px 14px 14px;
margin-bottom: -1px;
border: 1px solid #ddd;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
height: 200px;
overflow: auto;
}

基本上,数据正在使用 JQuery 动态放置在此 div 中,如下所示,该数据是从外部源获取的

$.each(data.search, function (i, v) {
        $('.myClass').append('my content here');
});

div 看起来就这么简单

<div class="myClass">

</div>

我希望 div 做的是,随着内容的变化,overflow我希望侧面的滚动条自动滚动到底部以跟随AutoLog,而不必自己手动将条滚动到底部,我确定这一点可以通过Javascript实现,但不确定如何,如果有人能指出我正确的方向,那就太好了,

4

3 回答 3

2

我最近做了类似的事情,我有一个“控制台”(一个 div)我正在打印到它,当它溢出时,你跟着它下来。这是我的“println”函数:

printLn: function(str, clss) {
    con.print(str, clss);
    $output.append('<br/>').animate({ scrollTop: $output.prop('scrollHeight') }, 1);
},

基本上更新scrollTop到新的scrollHeight,或多或少说“滚动到滚动高度允许”,所以你“坚持”到底部。

编辑

对于您的情况,请执行以下操作:

$.each(data.search, function (i, v) {
        $div = $('.myClass');
        $div.append('my content here').animate({ scrollTop: $div.prop('scrollHeight') }, 1);
});

scrollTop会将 div 的属性设置为最大值,因此它将滚动到底部。

于 2013-03-13T18:21:17.923 回答
0

附加内容后将此添加到您的脚本中,它应该可以工作..

$(".myClass").animate({
    scrollTop: $(".myClass").scrollHeight
}, 300);
于 2013-03-13T18:20:00.073 回答
0
// Get the number of pixels scrolled
var  intElemScrollTop = element.scrollTop;
intElemScrollTop is an integer corresponding to number of pixels that element's content has been scrolled upward.

// Set the number of pixels scrolled
element.scrollTop = intValue;

检查链接https://developer.mozilla.org/en-US/docs/DOM/element.scrollTop

于 2013-03-13T18:21:01.180 回答