javascript - 在 div 中使用鼠标滚轮和按钮进行水平滚动
问题描述
感谢您关注并阅读我的问题。
我是 Angular 和 Typescript 语言的新手。目前我可以使用按钮控制滚动分区,我也希望使用鼠标滚轮滚动分区。
我尝试了一些代码,例如:
<div ... (wheel)="onWheel($event)" ... ><div>
onWheel(event: WheelEvent): void {
(<Element>event.target).parentElement.scrollLeft += event.deltaY;
event.preventDefault();
}
但它似乎不适用于我的项目。
这是我的 HTML 代码:
<button mat-button class="prevBut" (click)="scrollLeft()"><mat-icon>keyboard_arrow_left</mat-icon </button>
<div #widgetsContent class="widgetDiv" (wheel)="onWheel($event)">
</div>
<button mat-button class="prevBut" (click)="scrollRight()"><mat-icon>keyboard_arrow_right</mat-icon></button>
这是我的打字稿代码:
public scrollRight(): void {
this.widgetsContent.nativeElement.scrollTo({ left: (this.widgetsContent.nativeElement.scrollLeft += 150), behavior: 'smooth' });
}
public scrollLeft(): void {
this.widgetsContent.nativeElement.scrollTo({ left: (this.widgetsContent.nativeElement.scrollLeft -= 150), behavior: 'smooth' });
}
onWheel(event: WheelEvent): void {
(event.target as Element).parentElement.scrollLeft += event.deltaY;
event.preventDefault();
}
我非常感谢任何建议,最好的方法是如何进一步进行。
解决方案
感谢任何关注我问题的人。幸运的是,我自己解决了这个问题。这就是我如何解决它的答案。
onWheel(event: WheelEvent): void {
this.widgetsContent.nativeElement.scrollLeft += event.deltaY;
event.preventDefault();
}
推荐阅读
- mysql - #1241 - 操作数应包含 1 列嵌套查询
- android-studio - Android Studio中黄色和斜体的方法名称是什么意思?
- javascript - 节点 Javascript 类 ReferenceError: X 未定义
- r - GGPLOT2中的字幕
- git - git add 和 git commit 混淆
- javascript - 为什么返回未定义?(免费代码营)
- python - 过滤文件,将文件中的值移动到列表
- c# - 如何在.net核心中获取大括号url值
- c++ - .cpp 文件在编译时看不到 .h 文件
- dokuwiki - 在 DokuWiki 中创建特定于命名空间的标签页