如何在 Divi 主题中禁用锚点链接的平滑滚动动画
本文介绍一种无需修改 Divi 核心文件的安全方式通过重写 et_pb_smooth_scroll 全局函数将锚点跳转强制设为瞬时定位0ms 动画彻底禁用默认的平滑滚动效果。 本文介绍一种无需修改 divi 核心文件的安全方式通过重写 et_pb_smooth_scroll 全局函数将锚点跳转强制设为瞬时定位0ms 动画彻底禁用默认的平滑滚动效果。Divi 主题默认为所有内部锚点链接如导航菜单中的 #section-id启用了平滑滚动smooth scroll功能其底层依赖于全局函数 et_pb_smooth_scroll。该函数被广泛调用于页面内跳转、返回顶部、滚动到模块等交互场景。直接修改 Divi/js/scripts.js 或 custom.js 中的硬编码值如将 800 改为 0虽能生效但存在严重风险主题更新后代码将被覆盖且违反 WordPress 最佳实践。? 推荐方案是安全覆写safe override在子主题的 footer.php、functions.php通过 wp_add_inline_script或自定义 JavaScript 文件中于 DOM 加载完成后临时保存原始函数引用并重新定义 window.et_pb_smooth_scroll强制将 speed 参数设为 0、easing 设为 linear——这相当于关闭动画实现原生 scrollIntoView({ behavior: auto }) 的即时跳转效果。以下是推荐部署的完整代码兼容 Divi 4.0 及最新版本scriptjQuery(document).ready(function($) { // 保存原始函数引用确保不丢失其他逻辑如 offset 计算、hash 更新等 const originalSmoothScroll window.et_pb_smooth_scroll; // 重定义 et_pb_smooth_scroll强制 speed0禁用动画 window.et_pb_smooth_scroll function($target, $top_section, speed, easing) { // 保留原始函数的所有参数处理逻辑仅覆盖动画时长与缓动 // 注意$target 可能是 jQuery 对象或选择器字符串originalSmoothScroll 内部已做兼容处理 originalSmoothScroll($target, $top_section, 0, linear); };});/script? 关键说明与注意事项 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手依托大模型帮助用户记录、整理和分析音视频内容体验用大模型做音视频笔记、整理会议记录。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2510459.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!