欣欣向荣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 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看