2011-06-15 160 views
2

我正在尝试使自动滚动为我的div。每当我检查那个div的高度时,它会给我“200px”,就像它在CSS中一样。我认为这是因为CSS样式。 How to fix it获得元素的高度

这一切的想法是用户可以提交消息聊天,然后他们会出现在该框中。我需要自动滚动的箱子的底部...

+0

你看,应该是当用户提交了超过200条短信超过200像素。对? – daGrevis 2011-06-15 07:07:32

回答

2
$('div').prop('scrollHeight'); 

的jQuery 1.6之前,prop应该attr

或正好砸在HTML属性:

$('div')[0].scrollHeight; 
1

为什么不使用jQuery和要么使用ScrollTo插件,滚动动画内容,或者使用scrollTop的,只是设置滚动到scrollHeight属性,像这样; (“div”)。ScrollTop($(“div”)。ScrollTop());

0

你可能甚至不需要找出div的高度。根据你的目标,你可以将它滚动到最大。尝试这样的事情,也增加了新的元素,你的DIV同一函数内部:

<script> 
$('#screameria form').submit(function() { 
    var screams = $('#screameria .screams'); 
    screams.append(
     '<div>' 
     + new Date() 
     + ': ' 
     + $(this.scream).val() 
     + '</div>' 
    ); 
    screams.scrollTop(999999999); 
    return false; 
}); 
</script> 

Here's a jsFiddle with it

+0

我喜欢Patrick Gates的答案。看看已经完成你的目标的插件,而不是试图推出你自己的。 – justis 2011-06-15 07:13:13

+0

看看我的代码...我已经使用了height(),但它不起作用。 – daGrevis 2011-06-15 07:14:48

+0

是的,我一开始并没有注意到jsFiddle。我现在看到你已经在使用'.height()' – justis 2011-06-15 07:23:09