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);
相关推荐
2501_920931704 小时前
React Native鸿蒙跨平台采用ScrollView的horizontal属性实现横向滚动实现特色游戏轮播和分类导航
javascript·react native·react.js·游戏·ecmascript·harmonyos
身如柳絮随风扬5 小时前
Java中的CAS机制详解
java·开发语言
0思必得06 小时前
[Web自动化] Selenium处理动态网页
前端·爬虫·python·selenium·自动化
风筝在晴天搁浅6 小时前
hot100 78.子集
java·算法
东东5166 小时前
智能社区管理系统的设计与实现ssm+vue
前端·javascript·vue.js·毕业设计·毕设
catino6 小时前
图片、文件的预览
前端·javascript
故事和你917 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
Configure-Handler8 小时前
buildroot System configuration
java·服务器·数据库
2501_920931708 小时前
React Native鸿蒙跨平台实现推箱子游戏,完成玩家移动与箱子推动,当所有箱子都被推到目标位置时,玩家获胜
javascript·react native·react.js·游戏·ecmascript·harmonyos
:Concerto8 小时前
JavaSE 注解
java·开发语言·sprint