尝试使用$ 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