VSCode识别animate中keyframes与options后冒号异常问题
问题原因
语法报错是2处不规范的代码写法导致的:
- 不符合jQuery
animate()API的传参规则:jQuery的animate()方法接收的参数不需要标注keyframes:、options:这类参数名,直接按顺序传参即可,额外加的参数名标识不符合JS函数传参语法,因此编辑器会报语法错。 - 第一段代码中
scrollTop的属性值写法错误:你错误地将整行属性定义用反引号包裹,模板字符串仅需要包裹动态计算的表达式部分,不需要包含属性名和冒号。
解决方案
修正后的完整可运行代码如下:
$('nav a[href*="#"]').on('click', function () { $('html, body').animate({ scrollTop: $($(this).attr('href')).offset().top - 100 }, 2000); }); $('#up').on('click', function() { $('html, body').animate({ scrollTop: 0 }, 2000); });
主要修改点:
- 移除了
animate()参数中多余的keyframes:、options:标识,直接按顺序传入属性对象和动画时长参数 - 删除了
scrollTop行多余的反引号,直接传入数值表达式即可
内容的提问来源于stack exchange,提问作者Robert Baker
相关产品推荐
相关产品推荐

