2011-12-20 72 views
0
<div id="aaa">sdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdfsdfas fasdfa asdf </div> 

#aaa { 
height: 100px; 
    width: 200px; 
    overflow: scroll; 
} 

$("#aaa").scrollTop = $("#aaa").scrollHeight; 

http://jsfiddle.net/PfA7Q/2/滾動到DIV下來(在Firefox和IE瀏覽器!)

有可能在這個DIV在Firefox和IE中做滾動下來?

+1

從技術上講,這不是一個文本區域的div。 – scunliffe 2011-12-20 14:47:15

+1

我更新了我的問題 – 2011-12-20 14:51:32

回答

2

你的代碼有點不對,因爲在jQuery中scrollTop實際上是一個函數,而不是一個屬性。而scrollHeight是一個原生的javascript屬性,與jQuery無關。所以,你會想要做這樣的事情:

$('#aaa').scrollTop($("#aaa")[0].scrollHeight); 

http://jsfiddle.net/PfA7Q/14/

話雖這麼說,你應該在一個變量中緩存你格引用,而不是得到它的兩倍,這樣的:

var $aaa = $('#aaa'); 
$aaa.scrollTop($aaa[0].scrollHeight); 
+0

請注意,如果您想滾動到底部,也可以將一個可笑的大數字傳遞給scrollTop函數,它將起作用。不是我推薦它,而是你知道的。 – Leo 2011-12-20 15:04:51

+0

謝謝,btw爲什麼[0]? :) – 2011-12-20 15:08:12

+0

當您使用jQuery的'''函數時,jQuery返回一個DOM元素數組。做$('#aaa')。scrollHeight實際上與試圖讀取數組的scrollHeight屬性是一樣的,這是沒有意義的。這就是爲什麼你必須通過使用[0](數組的第一項)直接獲取DOM元素。 – Leo 2011-12-20 15:28:42

0
$("#aaa").attr({ scrollTop: $("#aaa").attr("scrollHeight") }); 

prop jQuery的1.6+更換attr秒。

相關問題