嘗試使用$ wrapper.animate({scrollTop:step}); 例如 JS:
var isScroll = false;
$(document).ready(function() {
$('#up').hover(function() {
isScroll = true;
gotoNext(true);
}, function() { isScroll = false; });
$('#down').hover(function() {
isScroll = true;
gotoNext(false);
}, function() { isScroll = false; });
});
function gotoNext(dir) {
if (isScroll) {
isScroll = true;
var step = dir ? '-=20' : '+=20';
$('#wrapper').animate({
scrollTop: step
}, 200, "linear");
setTimeout(function() { gotoNext(dir); }, 200);
}
}
HTML:
<div style="height:10px; background:green; width:200px;" id="up"></div>
<div style="height:200px; overflow:auto; width:200px;" id='wrapper'>
<ul>
<li style="height:30px;">1</li>
<li style="height:30px;">2</li>
<li style="height:30px;">3</li>
<li style="height:30px;">4</li>
<li style="height:30px;">5</li>
<li style="height:30px;">6</li>
<li style="height:30px;">7</li>
<li style="height:30px;">8</li>
<li style="height:30px;">9</li>
<li style="height:30px;">1</li>
<li style="height:30px;">2</li>
<li style="height:30px;">3</li>
<li style="height:30px;">4</li>
<li style="height:30px;">5</li>
<li style="height:30px;">6</li>
</ul>
</div>
<div style="height:10px; background:green; width:200px;" id="down"></div>
它看起來對我來說相當不錯
你是什麼意思與劃分成網格?我最關心的是平滑滾動......怎麼做? – Tony 2012-04-11 14:50:55
這是一個非常廣泛的問題,實際上,如果我會這樣做,我會定義一個div併爲其分配一個類,然後在那之後,我將使用Javascript來檢測我的鼠標是否正在觸及頂部div,如果是的話,它會滾動如果不是頁面仍然如此。 (底部相同) – dennis 2012-04-11 14:53:03