Bootstrap滚动监听需data-bs-spy与data-bs-target配对使用,前者加于滚动容器(如body或scrollable div),后者须为唯一匹配导航父容器的CSS选择器(如#nav-menu);锚点id须与href值严格一致(含#),导航结构须为,且href必须以#开头指向真实ID;启用smooth scrolling时应改用scroll-margin-top替代data-bs-offset,并在DOM变动后调用refresh()刷新位置缓存。

滚动监听需要 data-bs-spy 和 data-bs-target 配合使用
Bootstrap 的滚动监听(Scrollspy)不是靠 JS 主动调用某个函数启动的,而是通过在 或容器上加 data-bs-spy="scroll" 触发,再配合 data-bs-target 指向导航菜单的 ID。如果只加了 data-bs-spy 却没配对 data-bs-target,监听完全不会生效。
常见错误是把 data-bs-target 写成类名(如 #nav-menu 对应的是 ),但实际写了 .nav-menu —— 这会导致 Bootstrap 找不到目标元素,控制台无报错,但高亮始终不切换。
-
data-bs-spy必须加在滚动容器上:通常是,若监听区域是某个,就得加在该 div 上data-bs-target值必须是 CSS 选择器,且能唯一匹配到包含导航项的父容器(如#navbar)- 被监听的锚点元素(
。如果用了)必须有id,且该id要和导航中@#@#@#@#@#@#@#@#@#@0











