【问题标题】:Fixed element inside mat-sidenav-content修复了 mat-sidenav-content 中的元素
【发布时间】:2020-03-04 10:54:23
【问题描述】:

我希望在mat-sidenav-content 内部有一个固定元素,同时允许用户在鼠标悬停在固定元素上时滚动其后面的内容。

这是一个 stackblitz 示例:https://stackblitz.com/edit/angular-khterh?file=src%2Fapp%2Fapp.component.html

请注意,当您的光标在divs 列表上时,它们会按预期滚动,但如果您的光标在固定元素上,您将无法滚动。

我想避免简单地将pointer-events: none 添加到固定元素,因为最终会有交互功能。左侧导航栏应保持原位。

this SO post 中讨论的解决方案似乎相关,但我无法在这里成功实施。

【问题讨论】:

    标签: angular scroll angular-material fixed mat-sidenav


    【解决方案1】:

    template 中,将(wheel) 添加到您的固定元素,如下所示。

    <div class="inner-sidenav" (wheel)="onWheel($event)">...</div>
    

    component类中,添加对应的onWheel函数。

    onWheel(event: WheelEvent): void {
        (<Element>event.target).parentElement.scrollTop += event.deltaY;
        event.preventDefault();
    }
    

    Stackblitz

    【讨论】:

    • 请仔细阅读问题:I would like to avoid simply adding pointer-events: none to the fixed element because there will be interactive functionality on it eventually
    • 很抱歉没有仔细阅读您的问题。我编辑了我的答案并提供了一个希望更准确的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2018-12-08
    • 2021-01-14
    • 2020-09-19
    • 2021-08-21
    • 2020-08-05
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多