如何在按角度单击按钮时将列表滚动到顶部?

2023-11-25

您能告诉我如何在按角度单击按钮时将列表滚动到顶部吗? 我试过这样

 scrollToTop(el){
    el.scrollIntoView();
  }

  <button (click)="scrollToTop(target)">scroll to top</button>

它将列表滚动到顶部。但它隐藏了我的addressbar然后用户看不到header我认为这不是一个好的解决方案。任何人都有其他好的解决方案

这是我的代码https://stackblitz.com/edit/angular-f9qxqh?file=src%2Fapp%2Fapp.component.html


您可以通过设置滚动到列表顶部scrollTop容器的属性为零。看这次堆栈闪电战进行演示。

<div #container class="container">
  <ul>
    <li *ngFor="let i of items">{{i}}</li>
  </ul>
</div>

<button (click)="container.scrollTop = 0">scroll to top</button>

这是一个简单的方法,可以平滑地滚动到列表顶部。它是基于这个答案 by bryan60,并适配了RxJS 6。你可以尝试一下这次堆栈闪电战.

<button (click)="scrollToTop(container)">scroll to top</button>
import { interval as observableInterval } from "rxjs";
import { takeWhile, scan, tap } from "rxjs/operators";
...

scrollToTop(el) {
  const duration = 600;
  const interval = 5;
  const move = el.scrollTop * interval / duration;
  observableInterval(interval).pipe(
    scan((acc, curr) => acc - move, el.scrollTop),
    tap(position => el.scrollTop = position),
    takeWhile(val => val > 0)).subscribe();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在按角度单击按钮时将列表滚动到顶部? 的相关文章

随机推荐

  • Spring Data Mongodb批量操作示例

    有人可以给我指点 Spring Data Mongodb DB 批量操作示例的完整示例吗 我正在尝试使用 spring data mongodb 切换到批量更新 无法找到一个好的例子 谢谢 Spring data mongodb 中的 Bu
  • Javascript - 跟踪鼠标位置

    我希望每 t 毫秒定期跟踪鼠标光标的位置 所以本质上 当页面加载时 这个跟踪器应该启动并且 比如说 每 100 毫秒 我应该获取 posX 和 posY 的新值并将其打印在表单中 我尝试了以下代码 但值没有刷新 只有 posX 和 posY
  • 了解 Xcode 中的 Instruments,测试泄漏

    我刚刚开始使用 Instruments 这是一个很好的小工具 用于测试内存分配 泄漏以及所有这些很棒的东西 但我对它的工作原理感到非常困惑 我寻找过解释如何使用它的教程 但没有教程解释如何使用它 我将尝试解释这一点 我将其设置为每当我运行
  • 无法从本地计算机连接到 Google 计算引擎上的 kafka 服务器

    我正在谷歌计算引擎上运行我的动物园管理员和卡夫卡服务器 两者都在默认端口上运行 zookeeper 在 2181 上 kafka 在 9092 上 两者都在同一个实例上运行 我也打开了这两个端口 在我的 server properties
  • 在 Maven 中配置 hibernate-jpamodelgen

    我要配置hibernate jpamodelgen进入Mavenpom xml 我试过这个
  • C++ 声明中的“&”有什么作用?

    我是一个 C 人员 我正在尝试理解一些 C 代码 我有以下函数声明 int foo const string myname cout lt lt called foo for lt lt myname lt lt endl return 0
  • Rails 4 Devise 3.1.1 Devise::RegistrationsController#new 中的 ActionController::UnknownFormat

    我正在开发一个 Rails 4 应用程序 使用 Devise 3 1 1 进行用户身份验证 当我单击 users sign up user 链接时 Rails 抛出以下异常 ActionController UnknownFormat in
  • 将发送的短信写入 content://sms/sent 表

    我正在开发一个 android 短信应用程序 我可以使用以下代码向单个联系人发送短信 sms sendTextMessage phoneNumber null message sentPI deliveredPI 现在我想向多重联系人发送短
  • Kibana 直方图 - 在单个图表上绘制多个系列

    我在 Elasticsearch 中有一个索引 其中包含一个简单对象数组 键值请参见下面的示例 这些文档有时间戳 我可以在 Kibana 中为每个键值创建单独的直方图 即一个图表用于 bytes sent 另一个图表用于 bytes rec
  • Angular 2 的 JSPM 与 WebPack

    最近我在我的 Angular 2 项目中使用了 JSPM 发现它使用起来非常简单和方便 无论是添加新模块还是创建用于生产的捆绑包 基本上就是 jspm install npm angular somepackage package json
  • 在 Web 应用程序中显示 PDF

    我已经用谷歌搜索了这个 搜索了这个 浏览了SO和其他网站 我已经尝试阅读这个问题几个小时了 但我似乎仍然找不到一个令人满意的解决方案来解决这个看似简单的问题 常见的编程问题 让我来设定一下场景 我有一个网站 Web 应用程序 允许用户搜索
  • python opencv imwrite ...找不到参数

    我正在使用 opencv 和 python 我想做一个 cv2 imwrite cv2 imwrite myimage png my im 唯一的问题是 opencv 无法识别 params 常量 cv2 imwrite myimage p
  • 使用内置“crypto”在nodejs中进行密码散列

    仅使用内置函数在 Node js 中实现密码哈希和验证的最佳方法是什么crypto模块 基本上需要什么 function passwordHash password gt passwordHash function passwordVeri
  • 光线投射引擎渲染产生轻微的扭曲,朝向屏幕边缘逐渐增加

    我正在为 HTML5 画布开发一个基本的光线投射引擎 该引擎在 Wolfenstein 3D 和 Doom 等游戏中使用 作为学习练习 爱好项目 我已经到了使用纹理映射在画布上渲染墙壁的地步 经过相当多的努力使相交测试功能正确后 效果非常好
  • PDFsharp 水印

    我正在制作一个应用程序 在用户选择的 PDF 上创建水印 但我似乎无法让水印出现在所选 PDF 上 但也没有收到任何错误 任何帮助 将不胜感激 我使用的是 PDFsharp 版本 1 50 4000 public void WaterMar
  • 是否可以从不同的 JVM 调用 Java 应用程序中的方法?

    当我第一次使用 Apache 守护程序为 Windows 开发 Java 服务时 我使用了JVM我非常喜欢的模式 您指定您的类和启动 停止 静态 方法 但对于 Linux Jsvc 看起来并没有相同的选项 我真的很想知道为什么 无论如何 如
  • AVPlayer 中的 SeekToTime 在前进时停止播放流音频

    我使用 AVPlayer 流式传输音频 它运作良好 但现在我需要制作一个滑块来向前和向后移动音频 就像典型的音乐播放器一样 我使用了该功能seekToTime这与本地音频文件配合得很好 但是 当我从 Web url 流式传输歌曲时 当我将滑
  • 如何更改 ASP.NET 图表控件的背景颜色?

    渲染图表控件时 图像的背景颜色为白色 我怎样才能使它成为另一种颜色 或透明 我指的区域是黑色边框和图表背景之间的白色区域 尝试这个
  • 可以将未命名的结构设为静态吗?

    您可以将未命名的结构设为类的静态成员吗 struct Foo struct namedStruct int memb1 memb2 static namedStruct namedStructObj struct int memb1 mem
  • 如何在按角度单击按钮时将列表滚动到顶部?

    您能告诉我如何在按角度单击按钮时将列表滚动到顶部吗 我试过这样 scrollToTop el el scrollIntoView