各位们,这个效果怎么做

img
点击上面或下面的按钮可以让这个列表滚动起来,点一下,滚一下 大概就这意思 给个思路

参考这个

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        ul {
            width: 100px;
            height: 120px;
            overflow-y: auto;
            overflow-x: hidden;
        }

        ul li {
            list-style: none;
            width: 100%;
            height: 30px;
            border: 1px solid red;
            text-align: center;
        }
    </style>
</head>

<body>
    <button id="pret"></button>
    <ul id="box">
        <li>
            222
        </li>
        <li>
            222
        </li>
        <li>
            222
        </li>
        <li>
            222
        </li>
        <li>
            222
        </li>
    </ul>
    <button id="next"></button>
</body>
<script>
    let pret = document.getElementById("pret");
    let next = document.getElementById("next");
    let box = document.getElementById("box");

    next.addEventListener("click", () => {
       if(box.scrollTop>150){ //这里我是写死的,你可以获取ul下li的个数*每个高度 //大于这个就不让它加了
           return
       }
        box.scrollTop = box.scrollTop + 30;
   
    })
    pret.addEventListener("click", () => {
       if(box.scrollTop<=0){ //这里我是写死的,你可以获取ul下li的个数*每个高度 //大于这个就不让它加了
           return
       }
        box.scrollTop = box.scrollTop -30;
   
    })
</script>

</html>

JS控制滚动条的位置:
window.scrollTo(x,y);
参考一下,很简单的
竖向滚动条置顶(window.scrollTo(0,0);
竖向滚动条置底 window.scrollTo(0,document.body.scrollHeight)

JS控制TextArea滚动条自动滚动到最下部

document.getElementByIdx_x('textarea').scrollTop = document.getElementByIdx_x('textarea').scrollHeight

获得滚动条距离顶部位置

function getScrollTop(){
var scrollTop=0;
if(document.documentElement&&document.documentElement.scrollTop){
scrollTop=document.documentElement.scrollTop;
}else if(document.body){
scrollTop=document.body.scrollTop;
}
return scrollTop;
}