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

使用jQuery实现Ajax无限滚动时出现语法错误求助

解决无限滚动的语法错误&优化建议

兄弟,我一眼就揪出问题所在啦!你遇到的意外标识符错误,根源就是那个看起来像减号的符号–——这是中文全角的破折号,不是JavaScript能识别的英文半角减号-!输入法切换时的小失误,换个符号就能解决语法报错。

不过我还发现代码里有几个其他小问题,一起给你修正了,让无限滚动功能更稳定:

修正后的完整代码

<!DOCTYPE html>
<html>
<head>
    <!-- 修正jQuery引入的script标签写法 -->
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
    <h1> Pagina ej 7</h1>
    <p> lorem ipsum and a lot of text </p>

    <script>
        // 添加加载锁,防止滚动到底部时多次触发请求
        let isLoading = false;

        $(window).scroll(function () {
            // 用英文减号替换中文破折号,修正语法错误
            if (!isLoading && $(window).scrollTop() == $(document).height() - $(window).height()) {
                isLoading = true;
                // 修正load的文件路径,加上.html后缀
                $("body").load("Ej7.1.html", function() {
                    // 加载完成后解锁,允许下次加载
                    isLoading = false;
                });
            }
        });
    </script>
</body>
</html>

关键修正点说明

  • 语法错误核心修复:把$(document).height() – $(window).height()里的中文破折号–换成英文减号-,JavaScript只会识别英文算术运算符。
  • jQuery引入标签修正:原来的<script> src= "https://code.jquery.com/jquery-3.3.1.min.js" </script>写法有误,正确格式是把src属性放在起始<script>标签内。
  • 文件路径修正:load("Ej7.1")要改成load("Ej7.1.html"),确保能正确定位到目标HTML文件。
  • 添加加载锁:滚动事件会在用户滚动时频繁触发,不加锁的话,滚动到底部时会连续发送多个重复的Ajax请求。用isLoading变量控制,只有加载完成后才允许下一次请求,避免重复加载内容。

这样修改后,语法报错会消失,无限滚动的功能也能稳定运行啦~

内容的提问来源于stack exchange,提问作者M.K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:50:07