Lenis.js 平滑滚动的缓动选项可以工作,但有语法错误

问题描述 投票:0回答:1

我使用 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 问题的缓和完全盲目,请尝试尽可能简单地解释。

javascript dreamweaver easing
1个回答
0
投票

看起来您使用的 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 规则。

© www.soinside.com 2019 - 2024. All rights reserved.