如何根据角度2中的按钮单击移动div滚动位置

2023-11-21

在 app.component.html 文件中,我有一个带有水平滚动的 div 元素和两个按钮,即“下一个”和“上一个”。根据这些按钮单击我想移动滚动。

应用程序组件.html

<div id="th-infinite-scroll-tracker" style="overflow-y:scroll; height: 200px;" scrollTracker (scroll)="onScroll($event)" (mouseup)="searchLog($event)">
        <div *ngFor="let log of arr; let i = index" innerHTML="{{log}}" [id]="i"></div>
</div>
<button (click)="onPreviousSearchPosition()" [disabled]="disablePreviousBtn">Previous</button>
<button (click)="onNextSearchPosition()" [disabled]="disableNextBtn">Next</button>

应用程序组件.ts

@HostListener('scroll', ['$event'])
onScroll(event){
    this.scrollObject = event;
}
onPreviousSearchPosition(){
    this.disableNextBtn = false;

    this.scrollObject.target.scrollTop = 20 * --this.idCount;
  }
onPreviousNextPosition(){
    this.disableNextBtn = false;

    this.scrollObject.target.scrollTop = 20 * ++this.idCount;
  }

使用上面的代码我们可以移动滚动,但我们需要手动滚动后将获得的滚动事件对象。 请建议我如何在组件类中创建滚动事件对象


这是滚动 div 元素的方式 -https://plnkr.co/edit/2v0iVgkOZfISqlFAkrNX?p=preview

example:

import { Component, ViewChild, ElementRef } from '@angular/core';
@Component({
  selector: 'my-app',
  template: `
    <div #panel style="overflow-y:scroll; height: 20px;" >
      <div *ngFor="let log of arr; let i = index" innerHTML="{{log}}" [id]="i"></div>
    </div>
    <button (click)="onPreviousSearchPosition()">Previous</button>
    <button (click)="onNextSearchPosition()">Next</button>
  `
})
export class AppComponent { 
  public arr = ['foo', 'bar', 'baz'];
  @ViewChild('panel', { read: ElementRef }) public panel: ElementRef<any>;

  public onPreviousSearchPosition(): void {
    this.panel.nativeElement.scrollTop -= 20;
  }

  public onNextSearchPosition(): void {
    this.panel.nativeElement.scrollTop += 20;
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据角度2中的按钮单击移动div滚动位置 的相关文章

随机推荐

  • 将静态参数传递给类

    据我所知 你不能将参数传递给 C 中的静态构造函数 但是 在创建类的实例之前 我确实需要传递两个参数并将它们分配给静态字段 我该怎么办 这可能是对 工厂方法的调用 class Foo private int bar private stat
  • Python场景变化检测

    我想知道是否有人有Python和视频处理的经验 本质上 我想知道是否有任何库可以让我在视频中进行场景检测 如果没有 是否有任何可以让我将视频分成一系列帧并让我处理像素 Thanks OpenCV有 Python 绑定 我不认为它有任何内置的
  • 如果我在 PHP 中执行 print_r ,它会以垃圾形式打印数组

    如何以树状格式打印数组 使其更易于阅读 Try pre pre 它将提供 HTML 的空白策略修剪掉的正确树结构
  • Rails 当前页面?当方法为 POST 时“失败”

    我有一个非常简单的问题 我有一页报告 每个报告都有自己的选项卡 我在用着current page 以确定应突出显示哪个选项卡 当我提交任何报告时 current page 似乎不再起作用 显然是因为请求方法是POST 这是预期的行为吗cur
  • 在 OSX Catalina 上安装用于 gem 安装的 Ruby 开发工具

    我知道这个问题有很多例子 我已经完成了这些答案中的所有内容 但 4 小时后却一无所获 我正在尝试在 Catalina 10 15 7 上安装 gem 并获得非常流行的 System Library Frameworks Ruby frame
  • 如何在 WPF 中删除鼠标悬停时按钮的发光

    我在 WPF 中使用一个简单的按钮 我已经在背景上放置了按钮的图像 我的问题是 当我将鼠标指针移动到按钮时 它会获得默认发光并覆盖作为背景给出的图像
  • Hive 中的增量/增量负载

    我有以下用例 我的应用程序有一个表多年数据 in RDBMSD B 我们已经用过sqoop将数据获取到 HDFS 并加载到按以下分区的 hive 表中年 月 现在 应用程序每天都会更新并将新记录插入 RDBMS 表中 这些更新的记录可以跨越
  • powershell 2.0重定向文件处理异常

    我正在寻找解决方案The OS handle s position is not what FileStream expected Do not use a handle simultaneously in one FileStream a
  • 为什么 LINQ 中的 Union 函数不删除重复条目?

    我正在使用 VB NET 我知道 Union 通常按 ByRef 工作 但在 VB 中 字符串通常被视为原始数据类型 因此 问题就在这里 Sub Main Dim firstFile secondFile As String resulti
  • 为什么这个 Perl 6 feed 操作符是一个“虚假语句”?

    我把这个例子取自第 10 天 Perl 6 2010 降临节日历的 Feed 操作员随着轻微的变化 uc为了 ucfirst不再存在了 my rakudo people
  • Angularjs 忽略时区

    有没有更好的方法来忽略 Angularjs 中的时区 2014 01 18 14 30 00 而不是 2014 01 18 15 30 00 function Scoper scope scope datum 2014 01 18T14 3
  • C++ 中的惰性求值

    C 没有对惰性求值的本机支持 如 Haskell 那样 我想知道是否可以以合理的方式在 C 中实现惰性求值 如果是的话 你会怎么做 编辑 我喜欢康拉德鲁道夫的回答 我想知道是否可以以更通用的方式实现它 例如通过使用参数化的惰性类 它本质上适
  • Spring中的Websocket身份验证和授权

    我一直在努力正确实现 Stomp websocket 验证 and 授权与Spring Security 对于后代 我将回答我自己的问题以提供指导 问题 Spring WebSocket 文档 用于身份验证 看起来不清楚 ATM 恕我直言
  • apache上的vue-router,子目录中的SPA,只能通过重定向访问页面

    所以我有一个在 apache 开发服务器上设置的客户端 Vue 应用程序 我这样做是为了配合生产环境 该应用程序位于子目录中 我在 vue router 上设置了 base 选项以进行匹配 如果我导航到我的虚拟主机根目录 它会正确重定向 但
  • 如何获取iframe响应头?

    有没有办法获取 iframe onload 的响应标头 我已经用谷歌搜索过它 但实际上我找不到任何有用的东西 并不真地 如果 iframe 位于同一域中 您可以访问其文档对象 其中包含一些有用的信息 例如document referrer
  • 如何将暴露给 COM 互操作的 .NET 对象标记为单线程?

    在 C 中定义 COM 可见类时 我可以在头文件中定义支持的线程模型 threading single line coclass default IComInterface threading single vi progid Exampl
  • Sass 使用与号 (&) 与类型选择器组合父级

    我在 Sass 中筑巢时遇到问题 假设我有以下 HTML p href class item Text p p href class item Text p a href class item Link a 当我尝试将样式嵌套在以下内容中时
  • 将基本类型转换/转换为派生类型

    我通过派生现有的 NET 框架类来扩展它 如何将基类型的对象转换为派生类型 public class Results Framework methods public class MyResults Results Nothing here
  • JButton ActionListener - GUI 仅在单击 JButton 后更新

    我的 JButton ActionListener 遇到问题 我在另一个类中定义了一个 doTheCleaning 方法 当调用该方法时 会对我的 GUI 进行一系列更改 public void doTheCleaning change i
  • 如何根据角度2中的按钮单击移动div滚动位置

    在 app component html 文件中 我有一个带有水平滚动的 div 元素和两个按钮 即 下一个 和 上一个 根据这些按钮单击我想移动滚动 应用程序组件 html div style height 200px div div d