Tôi đang cố tạo một div cuộn tự động chuyển đến phần đầu của nó khi nó đến cuối. Nhưng nó không hoạt động ...Cách lấy chiều cao cuộn thực của div (nói kích thước văn bản bên trong)
function scrollPannel()
{
var pannel = document.getElementById('pannel');
if (typeof scrollPannel.count == 'undefined')
{
scrollPannel.count = 0;
}
else
{
scrollPannel.count += 2;
}
// trouble is here
if ((scrollPannel.count - pannel.scrollHeight) > pannel.clientHeight)
{
scrollPannel.count = 0;
}
pannel.scrollTop = scrollPannel.count;
setTimeout('scrollPannel()', 500);
}
HTML:
<div id='pannel' style="height:200px;overflow:auto" onmouseover="sleepScroll()">
<p>...</p><!-- long text -->
</div>
Và sau đó, tôi sẽ cần phải tìm cách để ngăn chặn di chuyển khi "onmouseover" occures.
EDIT: Tôi không giải thích rõ vấn đề. Trong thực tế, tôi đã thử một cái gì đó như:
if (scrollPannel.count > pannel.scrollHeight)
{
scrollPannel.count = 0;
}
Vấn đề là scrollHeight có vẻ lớn hơn div bên trong văn bản. Vì vậy, nó làm cho rất nhiều thời gian để trở về đầu trang.
Vì vậy, tôi cần một thuộc tính phần tử mà tôi có thể sử dụng giá trị để so sánh với biến số của tôi. Tuy nhiên tôi không biết Javascript rất nhiều và tôi không thể tìm thấy bất cứ điều gì. Tôi hy vọng nó cũng đơn giản như tôi nghĩ về nó.
Chức năng sleepscroll() là gì? –
sleepScroll() là một chức năng để thực hiện mà tôi sẽ sử dụng để ngừng cuộn trên sự kiện "onmouseover". Trong trường hợp của tôi, tôi nghĩ rằng nó sẽ là một cuộc gọi clearTimeout() đơn giản. – kirly