我有一個div
與類overflow: auto;
有沒有辦法控制這個滾動條出現時?可以在Javascript中控制CSS溢出滾動條嗎?
我有一個ajax照片庫(無頁面刷新),其中一些標題文本在div
中,但內容長度各不相同。如果您在此div中向下滾動,然後前進到下一張幻燈片,則滾動條不會回到頂部。所以,我想知道是否有辦法控制這個滾動條。謝謝。
我有一個div
與類overflow: auto;
有沒有辦法控制這個滾動條出現時?可以在Javascript中控制CSS溢出滾動條嗎?
我有一個ajax照片庫(無頁面刷新),其中一些標題文本在div
中,但內容長度各不相同。如果您在此div中向下滾動,然後前進到下一張幻燈片,則滾動條不會回到頂部。所以,我想知道是否有辦法控制這個滾動條。謝謝。
使用jQuery,您可以設置滾動區域的頂部,像這樣:
$('#contents').scrollTop(0);
Here's a demo showing this in action->
注意,這也可以在沒有jQuery的:
document.getElementById('contents').scrollTop = 0;
對於這兩個演示,按重置按鈕將滾動條設置回頂部。
更新的測試後,使用elm.scrollTop = 0
:
<div style="overflow:auto;height:100px;width:100px">
<p>test</p>
<p>test</p>
<p>test</p>
<a href="javascript:" onclick="this.parentNode.scrollTop = 0">go up</a>
</div>
可以更改<div>
元素的屬性scrollTop
的價值。
見element.scrollTop在MDC文檔
見element.scrollTop MSDN上
雖然scrollTop
不是任何標準的一部分,它是由所有主流瀏覽器的支持。
有趣。謝謝。讓我來調查一下。 – Stephen 2011-05-16 20:23:03
要移動豎線回溢出的元素myControl
在上面,你必須做
$("#myControl").scrollTop(0);
,或者在單槓的情況下,將其移動到開始(左)
$("#myControl").scrollLeft(0);
如果你想隱藏滾動條,你必須這樣做CSS
#myControl {
overflow: hidden;
}
你是假設下一張幻燈片位於頂部。如果你有絕對的positionated幻燈片,您可以更好地做到以下幾點,以確保您滾動到正確的nextSlide位置:
var nextSlidePos = $("#slide" + nextSlide).position();
$("#myControl").scrollTop(nextSlidePos.top).scrollLeft(nextSlidePos.left);
感謝您的建議。讓我來調查一下。 – Stephen 2011-05-16 20:27:03
我正在授予Ender的答案。 – Stephen 2011-05-17 14:59:50