前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详细介绍scrollIntoView()方法属性

详细介绍scrollIntoView()方法属性

作者头像
全栈程序员站长
发布2022-07-02 14:23:53
1.1K0
发布2022-07-02 14:23:53
举报

大家好,又见面了,我是你们的朋友全栈君。

因为工作中用到了锚点设置,常用的总是出问题,后来扒拉出了这个属性,详细研究了下方便日后使用

介绍scrollIntoView()的详细属性

简介

scrollIntoView()方法将调用它的元素滚动到浏览器窗口的可见区域。


PS:根据其他元素的布局,元素可能无法完全滚动到顶部或底部。

TIPS:页面(容器)可滚动时才有用!

语法

代码语言:javascript
复制
element.scrollIntoView(); // 等同于element.scrollIntoView(true)
element.scrollIntoView(alignToTop); //布尔参数
element.scrollIntoView(scrollIntoViewOptions); //对象参数

语法参数

alignToTop

[可选],目前之前这个参数得到了良好的支持

true

元素的顶部将对齐到可滚动祖先的可见区域的顶部。对应于scrollIntoViewOptions: {block: "start", inline: "nearest"}。这是默认值

false

元素的底部将与可滚动祖先的可见区域的底部对齐。对应于scrollIntoViewOptions: {block: "end", inline: "nearest"}。

scrollIntoViewOptions

[可选],目前这个参数浏览器对它的支持并不好,可以查看下文兼容性详情

behavior

[可选]定义过渡动画。"auto","instant"或"smooth"。默认为"auto"。

block

[可选] "start","center","end"或"nearest"。默认为"center"。

inline

[可选] "start","center","end"或"nearest"。默认为"nearest"。

示例

代码语言:javascript
复制
var element = document.getElementById("box");

element.scrollIntoView();
element.scrollIntoView(false);
element.scrollIntoView({block: "end"});
element.scrollIntoView({behavior: "instant", block: "end", inline: "nearest"});

应用场景

URL中hash标记的进化

  • 聊天窗口滚动显示最新的消息
  • 往一个列表添加item后滚动显示最新的添加的item
  • 回到顶部(#)
  • 滚动到指定位置(#xxx)

浏览器兼容性

特征

Chrome

Firefox

Safari

Edge

IE

Opera

基本支持( alignToTop )

yes

yes

yes

yes

yes

yes

scrollIntoViewOptions

yes

yes

5.1[1]

12[1]

9[1]

48[2]

注意:不支持"smooth"行为或"center"选项。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148024.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍scrollIntoView()的详细属性
    • 简介
      • 语法
        • 语法参数
          • 示例
            • 应用场景
              • 浏览器兼容性
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档