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

本地正常的jQuery滚动代码部署服务器后报$未定义错误求助

解决"Uncaught ReferenceError: $ is not defined"问题

这个错误的核心原因是你的自定义脚本执行时,jQuery库还没完成加载,或是服务器端未正确引入jQuery文件。以下是具体修复方案:

  • 调整脚本加载顺序
    必须保证jQuery库在你的自定义代码之前加载,正确的HTML结构应该是这样:

    <!-- 先引入jQuery库 -->
    <script src="jquery.min.js"></script>
    <!-- 再执行你的滚动逻辑脚本 -->
    <script type="text/javascript">    
    $(window).scroll(function(event) {
        $("#idTimelineLeft").css("margin-top", 0 - $(document).scrollTop());
    });
    </script>
    

    本地运行正常大概率是因为本地文件加载速度快,服务器端因网络或加载优先级问题,导致你的脚本先于jQuery执行。

  • 验证jQuery文件路径正确性
    服务器上的文件路径可能和本地不一致:

    • 如果用本地jQuery文件,检查src属性里的相对/绝对路径是否指向正确位置,确保jquery.min.js确实存在于服务器对应目录。
    • 也可以直接用CDN引入jQuery,规避路径问题:
      <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
      
      (如果服务器有网络限制,优先使用本地文件)
  • 排查jQuery加载失败情况
    打开浏览器开发者工具(按F12),切换到「网络」标签页,刷新页面后查看jQuery文件的请求状态:

    • 若显示404,说明文件找不到,需修正路径;
    • 若出现其他错误,检查服务器静态文件的访问权限或配置问题。
  • 兼容写法:替换$为jQuery
    若存在$被其他JS库占用的情况,可将代码里的$全部替换为jQuery,确保逻辑正常运行:

    jQuery(window).scroll(function(event) {
        jQuery("#idTimelineLeft").css("margin-top", 0 - jQuery(document).scrollTop());
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:24:54