MozTW 討論區
https://forum.moztw.org/

[問題] 利用程式控制scroll bar, 在 firefox 上面的行為
https://forum.moztw.org/viewtopic.php?f=13&t=24294
1 頁 (共 1 頁)

發表人:  Samuelcdf [ 2008-09-08, 18:20 ]
文章主題 :  [問題] 利用程式控制scroll bar, 在 firefox 上面的行為

最近寫了一個網頁來定時顯示/更新伺服器的狀態, 伺服器的狀態是放在一個 textarea 裡面, 每次更新之後, 都會利用 javascript 將 scroll bar 移動到最底部. 程式碼大概像這樣

setTimeout("ShowArea.scrollTop = ShowArea.scrollHeight;",100);


在 IE 上面:
顯示如預期, 每次更新都會移到最底部

在 FireFox 上面:
每次更新, textarea 的內容會很快速地 先移到頂端, 再移到底部. 結果就是在 FireFox 上面, 每次 Textarea 的部分都會 "閃" 一下...

有辦法避免閃爍的問題嗎?

發表人:  Merci chao [ 2008-09-08, 18:32 ]
文章主題 : 

你用了 setTimeout 還設了 100ms, 會閃一下是正常而且應該的吧?
(言外之意, 就是 IE 在那 100ms 根本完全沒有反應)

發表人:  samuelcdf [ 2008-09-08, 18:45 ]
文章主題 : 

Merci chao 寫:
你用了 setTimeout 還設了 100ms, 會閃一下是正常而且應該的吧?
(言外之意, 就是 IE 在那 100ms 根本完全沒有反應)


不是的, 那 100ms 的用意在於等瀏覽器將正確地內容大小計算出來, 不然那一行移動到底端的程式 "不見得" 會移到真正的底端. 這個我想不是造成閃爍的原因.

就算是將那 100ms 延遲拿掉, 同樣是移動 scroll bar, IE 還是不會閃, FireFox 還是會固執地 "先移到頂端, 再移到底端"

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/