Javascript ScrollHeight未使用JQuery在IE8中更新
我试图将一些文本(div)附加到可滚动的div中,然后自动滚动底部 出于某种原因,当我尝试在IE8中这样做时,它不起作用。取消对“警报”行的注释显示IE8为ScrollHeight属性返回两个值 Jquery附件是异步运行还是DOM需要时间刷新 正确的处理方法是什么 有问题的Html页面: 风格:Javascript ScrollHeight未使用JQuery在IE8中更新,javascript,jquery,html,scroll,append,Javascript,Jquery,Html,Scroll,Append,我试图将一些文本(div)附加到可滚动的div中,然后自动滚动底部 出于某种原因,当我尝试在IE8中这样做时,它不起作用。取消对“警报”行的注释显示IE8为ScrollHeight属性返回两个值 Jquery附件是异步运行还是DOM需要时间刷新 正确的处理方法是什么 有问题的Html页面: 风格: .scrollbox { border-style: solid; overflow-y: scroll; padding: 5px; margin: 20px; bor
.scrollbox
{
border-style: solid;
overflow-y: scroll;
padding: 5px;
margin: 20px;
border-color: #C0C0C0;
height: 400px;
width: 500px;
font-family: "Times New Roman", Times, serif;
font-size: 20px;
color: #333333;
}
Jquery脚本:
$(document).ready(function() {
var node = $("#list");
for (i = 1; i <= 100; i++) {
node.append("<div>Item :" + i + "</div>");
}
//alert(node.attr("scrollHeight"));
//alert(node.attr("scrollHeight"));
node.animate({ scrollTop: node.attr("scrollHeight") }, 500);
});
$(文档).ready(函数(){
变量节点=$(“#列表”);
对于(i=1;i您是否尝试过使用node.outerHeight()
而不是获取scrollHeight的值?尝试使用jQuery的innerHeight()值,并且我相信您需要“px”和该值
node.animate({ scrollTop: node.innerHeight() + 'px' }, 500);
我也遇到了这个问题-对我来说,这似乎是IE8中的一个缺陷(兼容模式没有表现出相同的行为)。在我的例子中,我只读取一次值来“初始化”它并忽略结果,然后后续的读取是正确的。不理想,但似乎工作正常。node.outerHeight()和node.innerHeight()(带和不带“px”)似乎没有解决这个问题。有人可以复制这个问题吗?我在两台计算机(XP:IE8和Vista:IE8)上得到的结果好坏参半。
node.animate({ scrollTop: node.innerHeight() + 'px' }, 500);