如何从底部开始滚动条

时间:2016-03-28 17:35:24

标签: javascript jquery html ajax scrollbar

所有代码都在这个小提琴中 http://jsfiddle.net/EX6vs/366/

我有一个简单的聊天,我有一个应该工作的JS脚本,它在正文中加载。

function updateScroll() {
    var element = document.getElementById("chatlogs");
    element.scrollTop = element.scrollHeight;
}

在我的真实代码中,当有人编写新的聊天消息时,函数会被调用,并且JS函数可以正常工作。我不能让它在页面加载时工作。

谢谢!

2 个答案:

答案 0 :(得分:1)

编辑:设置scrollTop时,首先将一个临时变量设置为scrollHeight, 你无法将scrollTop设置为以你拥有它的方式滚动。

试试这个:

function updateScroll() {
        var element = document.getElementById("chatlogs");
        var elementHeight = element.scrollHeight;
        element.scrollTop = elementHeight
}
window.onload = updateScroll;

旧答案:

工作小提琴 http://jsfiddle.net/oqa12rht/

您需要使用以下命令启动该功能:

window.onload = updateScroll();

你实际上甚至不需要window.onLoad,

您可以像这样调用函数:

    function updateScroll() {
            var element = document.getElementById("chatlogs");
            element.scrollTop = element.scrollHeight;
    }


updateScroll();

小提琴: http://jsfiddle.net/2j869L9o/

答案 1 :(得分:1)

您的代码运行正常。我认为fiddle是以错误的方式设置的。请找到更新的fiddle。您所要做的就是从No wrap - in <body>切换按钮中选择javascript

@Omarjmh,

对于window.onload,不需要执行该函数。如果这样做,函数将被执行并分配它返回到onload的任何内容。应排除()

以下是MDN所说的内容,

window.onload = funcRef;  

funcRef是窗口加载事件触发时要调用的处理函数。

了解详情:https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers/onload