欣欣向荣888 2022-11-20 18:10 采纳率: 75%
浏览 6
已结题

div获取滚动条的位置

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

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

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

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

img

img

运行结果及报错内容

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

img

  • 写回答

5条回答 默认 最新

  • 人间小美味695 2022-11-20 22:48
    关注

    是这个目的吗,简单案例是可以用锚点,但是严谨点应该计算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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 已采纳回答 11月21日
  • 修改了问题 11月20日
  • 创建了问题 11月20日

悬赏问题

  • ¥15 对于这个复杂问题的解释说明
  • ¥50 三种调度算法报错 采用的你的方案
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败