You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

fullpage.js中normalScrollElements不支持多个选择器的问题咨询

解决fullpage.js中normalScrollElements多选择器不生效的问题

从你的代码和描述来看,你确实是按照官方文档要求配置了多个逗号分隔的选择器,但遇到了不生效的情况,我之前处理过类似的问题,给你几个排查和解决的方向:

1. 先调整选择器的格式

很多人容易忽略的细节是,fullpage.js的部分版本对选择器之间的空格很敏感。你当前写的是'#prueba6, #searchbox',逗号后面带了空格,试试把空格去掉,改成:

normalScrollElements: '#prueba6,#searchbox'

这个小改动经常能解决第二个选择器不被识别的问题,我之前帮朋友排查时就碰到过这种情况。

2. 确认目标元素是否存在(尤其是动态生成的)

如果#prueba6或者#searchbox是页面加载完成后,才通过JS动态生成的(比如AJAX渲染、点击事件创建),那在你初始化fullpage的时候,这些元素还不存在,normalScrollElements自然不会对它们生效。

这种情况下,你需要在元素生成完成后,手动更新normalScrollElements的设置:

// 等动态元素创建完成后执行这段代码
$.fn.fullpage.setNormalScrollElements('#prueba6,#searchbox');

3. 排查scrollOverflow的冲突

你设置了scrollOverflow: true,这个属性会让fullpage给section添加一个自定义滚动容器。如果你的目标滚动元素被包裹在这个容器里,有时候fullpage的滚动事件会优先拦截,导致内部元素的滚动不生效。

你可以尝试临时注释掉scrollOverflow: true,看看normalScrollElements是否能正常工作,以此判断是不是这个属性导致的冲突。如果确实是,你可能需要调整目标元素的层级,或者给它们添加更高的z-index,确保滚动事件能被正确捕获。

4. 检查fullpage.js的版本

如果以上方法都没用,建议检查一下你使用的fullpage.js版本。早期的一些版本可能存在多选择器支持的bug,升级到最新的稳定版本应该能解决这个问题。

测试小技巧

你可以在fullpage初始化完成后,打印当前的normalScrollElements配置,确认是否正确识别了两个选择器:

console.log($.fn.fullpage.getNormalScrollElements());

如果输出的是#prueba6,#searchbox,说明配置已经生效,问题可能出在其他地方;如果只输出了第一个选择器,那就是解析的问题,回到第一步调整格式即可。

内容的提问来源于stack exchange,提问作者user9074882

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:30:39