ul {
padding: 0;
margin: 0;
height: 180px;
overflow: auto;
}
li {
height: 50px;
background: pink;
list-style: none;
margin-bottom: 10px;
height: 50px;
}
body {
padding: 0;
margin: 0;
}
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
</ul>
<button>up</button>
<button>down</button>
当我点击向下按钮时,它会如何逐块滚动?我知道.animate()但是不知道实现我想要的逻辑......
答案 0 :(得分:1)
答案 1 :(得分:0)
根据之前回答中的评论,请查看以下代码
$('#up').click(function(){
$('ul').animate({ "scrollTop": "-=100"},'fast');
});
$('#down').click(function(){
$('ul').animate({ "scrollTop": "+=100"},'fast');
});
除了快速之外,您还可以写
$('ul').animate({ "scrollTop": "+=100"},0);
这里0表示零延迟。
如果您需要延迟,请遵循以下代码:
var scroll=0;
$('#up').click(function(){
if(scroll<=0){
scroll=0;
}
else{
scroll = scroll - 60;
$('ul').animate({ "scrollTop": scroll});
}
});
$('#down').click(function(){
if(scroll>=$(document).height() )
{
scroll=$(document).height();
}
else{
scroll = scroll + 60;
$('ul').animate({ "scrollTop": scroll});
}
});