首页 > 解决方案 > 如何访问这个函数参数和 ES6 模块

问题描述

如何访问thisES6 模块/类中的关键字?例如在下面,$(this)指向WaypointController而旧样式代码将引用所选元素。
我尝试使用参数,但没有帮助。

export default class WaypointContoller {
    constructor() {
        this.WAYPOINT_CLASS = 'main .webzone-wrapper:not(.no-csstransitions) > div';
        this.ANIMATION_CLASS = isIE9() ? 'fadeInUpNoAnimation' : 'fadeInUp';
        this.OFFSET = '90%';
        this.doAnimations(this.WAYPOINT_CLASS, this.ANIMATION_CLASS);
    }

    doAnimations(waypointClass, animationClass) {
        let delayTime;
        const waypoint = new Waypoint({ // eslint-disable-line no-undef
            element: document.querySelector(waypointClass),
            handler: () => {
                delayTime += 100;
                $(this).delay(delayTime).queue((next) => {
                    $(this).toggleClass('animated');
                    $(this).toggleClass(animationClass);
                    delayTime = 0;
                    next();
                });
            },
            offset: this.OFFSET,
            triggerOnce: true,
        });
        console.log(waypoint);
    }

    static init() {
        $(document).ready(() => {
            new WaypointContoller(); // eslint-disable-line no-new
        });
    }
}

标签: javascriptjqueryecmascript-6

解决方案


推荐阅读