我使用 lenis.js 进行平滑滚动,效果很好,请参阅 fiddle example。但是我的 Dreamweaver 显示语法错误,即缓动选项: easing: (t) => (t === 1 ? 1 : 1 - Math.pow(2, -10 * t))。
完整代码:
const lenis = new Lenis({
duration: 1.2,
easing: (t) => (t === 1 ? 1 : 1 - Math.pow(2, -10 * t)),
direction: "vertical",
gestureDirection: "vertical",
smooth: true,
smoothTouch: false,
touchMultiplier: 2,
});
function raf(time) {
lenis.raf(time);
requestAnimationFrame(raf);
}
requestAnimationFrame(raf);
我想知道该行是否正确,或者该错误来自何处,或者为什么 Dreamweaver 将其显示为错误。由于我对 math.pow 问题的缓和完全盲目,请尝试尽可能简单地解释。
看起来您使用的 Dreamweaver 版本(或其使用的 linter,或 linter 规则)不支持/允许箭头函数语法(至少在您的代码上下文中不支持)。
尝试使用像这样的常规函数
const lenis = new Lenis({
duration: 1.2,
easing: function(t){return (t === 1 ? 1 : 1 - Math.pow(2, -10 * t))},
direction: "vertical",
gestureDirection: "vertical",
smooth: true,
smoothTouch: false,
touchMultiplier: 2,
});
还要检查是否可以更新 DW 版本、其 linter 或编辑 linter 规则。