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

jQuery scrollTop功能不生效且VSCode中offset()报ts(2339)错误如何解决?

问题排查及解决方法

1. 核心错误原因

你的代码存在多处语法问题,是功能失效和IDE报错的直接诱因:

  • 元素选择器$('html, body')缺少闭合单引号,原代码写为$('html, body),语法不合法
  • 目标滚动区域选择器前缺少jQuery标识符$,原代码直接写('.js--section-plan'),没有被包装为jQuery对象,自然不存在offset()方法,这也是TS报错Property does not exist的直接原因
  • scrollTop赋值逻辑中存在冗余的点号,同时元素选择器存在不必要的换行,打断了正常语法结构

2. 修正后可运行代码

$('.js--scroll-to-plans').click(function() {
  $('html, body').animate({
    scrollTop: $('.js--section-plan').offset().top
  }, 1000)
})

3. 残留TS报错解决方案

如果修正语法后VSCode仍然报TS2339错误,是因为项目缺少jQuery的类型声明文件,按场景处理即可:

  • 项目使用npm/yarn包管理器:执行命令npm install @types/jquery --save-dev安装声明文件
  • 项目直接CDN引入jQuery:在项目根目录的全局类型声明文件(如typings.d.ts)中添加declare var $: JQueryStatic;即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:15:03