javascript - Javascript scrollTop 无法按预期工作
问题描述
<div id="messages" class="messages"></div>
<hr>
<textarea id="contentofmessage" name="content" type="text" maxlength="320" style="box-sizing: border-box; width: 100%; height: 100px; padding: 10px; font-family: Arial, sans-serif; border-radius: 5px; outline: none; border: 2px solid #D3D3D3; resize: none;" placeholder="Type your message here..."></textarea><br><br>
<button id="submit" class="btn_anchor_for_submit">Send</button>
<script>
$("#messages").animate({ scrollTop: $('#messages').prop("scrollHeight")}, 1000);
$(document).ready(function() {
$('#submit').click(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: '/contact_live_chat/chat_display.html?username=<?php echo $_GET["username"]; ?>',
data: {content: $('#contentofmessage').val()},
});
loadlink();
$("#messages").animate({ scrollTop: $('#messages').prop("scrollHeight")}, 1000);
});
});
function loadlink(){
$(document).ready(function(){
$('#messages').load("https://www.example.com/contact_live_chat/chat_display.html?username=<?php echo $_GET["username"]; ?>");
});
}
loadlink(); // This will run on page load
setInterval(function () {
var scrollTarget = $('#messages');
var pos = scrollTarget.scrollTop();
scrollTarget.load('https://www.example.com/contact_live_chat/chat_display.html?username=<?php echo $_GET["username"]; ?>', function() {
$('#messages').scrollTop(pos);
});
},5000);
</script>
我用了一些php,你自己测试的时候绝对可以替换它
编辑!!!
我的目标是在页面加载时自动向下滚动 div 中的内容。
解决方案
也许您应该准确描述您的期望?在您的屏幕截图中,您似乎已经处于领先地位。
你想滚动到提交的消息吗?
var objDiv = document.getElementById("messages");
const { top } = objDiv.getBoundingClientRect();
window.scrollTo({ top } ); // or objDiv.scrollTo({ top });
推荐阅读
- go - 如何在 Go 中演示内存可见性问题?
- javascript - 如何检测 Bootstrap 模态关闭的方式
- pari - 为循环 Pari 版本 2.11.1 Win64 实现递归并行的问题
- python - 从 MacOS 终端筛选输出并行运行多个 python 脚本
- ios - 在执行功能时单击导航控制器上的后退按钮时应用程序崩溃
- python-3.x - Python内置的时间复杂度?
- parameters - 返回查看 laravel 参数
- database - Mule DB 连接器参数化查询
- c# - 没有引用它的变量时的对象处置
- reactjs - 如何在非反应项目中使用`eslint-config-airbnb`?