Angular Scroll Spy无法与IE11一起使用?

时间:2019-06-13 13:05:59

标签: angular scrollspy

我做了一个Angular Scroll Spy指令,该指令在Chrome中可以正常运行,但在IE11中不能正常运行

我正在尝试在Angular 6应用程序中实现间谍滚动功能。

我尝试使用Angular Directive来实现这一目标,该指令在Chrome中运行得很好,但是在IE11中却表现出一些奇怪的行为。

@Directive({
    selector: '[scrollSpy]'
})
export class ScrollSpyDirective {
    @Input() public spiedTags = [];
    @Output() public sectionChange = new EventEmitter<string>();
    private currentSection: string ='';

    constructor(private _el: ElementRef) {}

    @HostListener('scroll', ['$event'])
    onScroll(event: any) {
        let currentSection1: string='';
        const children = this._el.nativeElement.children;
        const scrollTop = event.target.scrollTop;
        const parentOffset = event.target.offsetTop;
        for (let i = 0; i < children.length; i++) {
            const element = children[i];
            if (this.spiedTags.some(spiedTag => spiedTag === element.tagName)) {
                if ((element.offsetTop - parentOffset) <= scrollTop) {
                    currentSection1 = element.id;
                }
            }
        }
        if (currentSection1 !== this.currentSection) {
            this.currentSection = currentSection1;
            this.sectionChange.emit(this.currentSection);
        }
    }

}

这在Chrome上正常运行,但在IE11中无法正常工作。

0 个答案:

没有答案