如何使Div滚动到底部

时间:2017-03-01 09:32:07

标签: javascript jquery scroll

我有一个文本框和一个按钮。在div中按下添加按钮到表后。 我希望div在max-height:100px;超出overflow-y:auto; addbarcode();方法时滚动到页面底部。方法是一个ajax帖子,它会调用jquery dataTable method来填充服务器上的数据侧。

尝试1

var element = document.getElementById("divcontent");

        element.scrollIntoView(false);

尝试2

 var element = document.getElementById("divcontent");
                $('#divcontent').scrollTo(element.get(0).scrollHeight);

尝试3

 var objDiv = document.getElementById("divcontent");
                objDiv.scrollTop = objDiv.scrollHeight;

以上尝试都不起作用。

修改

<div class="row" id="divcontent" style="max-height:100px; overflow-y:auto">

<div class="col-md-12 col-sm-12">
    <table class="table table-striped table-responsive" id="codelist">
        <thead>
            <tr>
                <th>
                    SN
                </th>
                <th>
                    Serial Number
                </th>

            </tr>
        </thead>
    </table>


</div>

的Javascript

$(document).ready(function () {
    $("#scanner").on('keyup paste', function (e) {
        var code = (e.keyCode ? e.keyCode : e.which);
        if (code == 13) { //Enter keycode
            var artno = $(this).val();
            if (artno.length == 32 && ) {
                addbarcode();
                $(this).val("");

            } else {
                $(this).val("");
            }
            var element = document.getElementById("divcontent");

            element.scrollIntoView(false);
        }


    });

})

最终工作代码 添加了动画以允许平滑滚动。还添加了计时器作为ajax代码比html渲染运行得更快。所以设置一点延迟允许javascript捕获全高。

  function divscrolldown() {
    setTimeout(function () {
        $('#divcontent').animate({
            scrollTop: $("#divcontent").offset().top
        }, 500);

    }, 200);

2 个答案:

答案 0 :(得分:4)

element.scrollIntoView(false);

如果false,元素的底部将与可滚动祖先的可见区域的底部对齐。

MDN:Element.scrollIntoView()

答案 1 :(得分:0)

这对我有用:

$('#scroll').scrollTop(1000000);

这里有更多答案:Scroll to bottom of div?