div获取滚动条的位置

问题遇到的现象和发生背景

每次的滚动条重新加载都会在最上方,怎么样定位滚动条的位置

用代码块功能插入代码,请勿粘贴截图

$("#first").scrollTop();
输出

img

img

运行结果及报错内容

选择的东西是可以回显的但是就是这个定位获取不到

img

是这个目的吗,简单案例是可以用锚点,但是严谨点应该计算li的高度和滚动偏移量,具体看你需求了


<!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">
        <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }

            .listContainer {
                width: 20vw;
                height: 100px;
                margin: 0 auto;
                border: 1px solid #f40;
                overflow-x: hidden;
                overflow-y: scroll;
            }

            .listChild {
                width: 20vw;
                height: 20px;
                line-height: 20px;
                box-sizing: border-box;
                list-style: none;
                text-align: center;
                border: 1px solid #999;
            }

            .targetList {
                background-color: rgb(153, 153, 153);
            }
        </style>
    </head>

    <body>
        <ul class="listContainer">
            <li class="listChild" id="target1">1</li>
            <li class="listChild" id="target2">2</li>
            <li class="listChild" id="target3">3</li>
            <li class="listChild" id="target4">4</li>
            <li class="listChild" id="target5">5</li>
            <li class="listChild" id="target6">6</li>
            <li class="listChild" id="target7">7</li>
            <li class="listChild" id="target8">8</li>
            <li class="listChild" id="target9">9</li>
            <li class="listChild" id="target10">10</li>
        </ul>

        <script>
            function calcHandle() {
                let num = Math.round(Math.random() * 10);
                return num
            }

            setInterval(() => {
                let targetNum = calcHandle();
                $(".targetList").removeClass("targetList");
                $(".listChild").eq(targetNum).addClass("targetList");
                window.location.href = "#target" + targetNum;
            }, 1000);
        </script>
    </body>

</html>

滚动条不是自动出来吗?还需要指定?

是不是有个scrolltotop 0的,回到顶部位置

可以绑定事件,比如说设定一个button按钮绑定一个点击事件,然后里面编写scrollTo()方法,两个参数,left top,可以根据你想定位到的位置设定,具体的事件可以根据自己的需求选择,