html中使用JQ自定义锚点偏移量

问题:一般情况下使用href跳转达到效果。如果页面中头部固定住了,点击瞄点的时候自动是最上面,头部会给它覆盖掉一部分,所以要在点击之后额外再加头部高度

html 复制代码
  <a href="#aa">Technical Documents</a>
  <div id="aa">aaaaaaaaaaa</div>

js

javascript 复制代码
// 当点击瞄点时执行滚动动作
$('a[href="#aa"]').on('click', function(e) {
  e.preventDefault(); // 阻止默认行为
  var targetPosition = $('#aa').offset().top; // 获取瞄点位置
  $('html, body').animate({
    scrollTop: targetPosition + 100 // 滚动到瞄点位置再额外往下滚动100px
  }, 800); // 滚动持续时间
});

如果有多个的话,封装js

javascript 复制代码
// 当点击瞄点时执行滚动动作
function scrollToAnchor(anchor, offset) {
  $('a[href="' + anchor + '"]').on('click', function(e) {
    e.preventDefault(); // 阻止默认行为
    var targetPosition = $(anchor).offset().top; // 获取瞄点位置
    $('html, body').animate({
      scrollTop: targetPosition - offset // 滚动到瞄点位置再额外往下滚动指定的偏移量
    }, 800); // 滚动持续时间
  });
}

// 使用封装的函数
scrollToAnchor('#aa', 200);
相关推荐
AI人工智能+电脑小能手2 分钟前
【大白话说Java面试题】【Java基础篇】第29题:静态代理和动态代理的区别是什么
java·开发语言·后端·面试·代理模式
善恶怪客3 分钟前
Java-数组和可变参数
java·开发语言
小编码上说3 分钟前
LSH(局部敏感哈希)分桶,海量数据下的相似性搜索解决方案
java·spring boot·缓存·langchain4j·lsh·局部敏感哈希·ai调用优化
RPGMZ17 分钟前
RPGMakerMZ 地图存档点制作 标题继续游戏直接读取存档
开发语言·javascript·游戏·游戏引擎·rpgmz·rpgmakermz
计算机_毕业设计23 分钟前
java-springboot数字藏品系统 基于 SpringBoot 的区块链数字艺术品交易平台 Java 微服务架构下的加密藏品展示与拍卖系统计算机毕业设计
java·spring boot·课程设计
ONVO ncen23 分钟前
Redis6.2.6下载和安装
java
丑八怪大丑26 分钟前
JDK8-17新特性
java·开发语言
京师20万禁军教头37 分钟前
37面向对象(高级)-main方法
java
书源丶37 分钟前
三十五、Java 泛型——类型安全的「万能模板」
java·开发语言·安全
有一个好名字1 小时前
Agent Loop —— 一切从那个 while 循环开始
前端·javascript·chrome