js锚点定位

前言:锚点定位总共有两种方法,一种是使用scrollIntoView方法,另一种是通过a标签href跳转来定位

一、scrollIntoView方法

// 如果为true,元素的顶端将和其所在滚动区的可视区域的顶端对齐。
// 如果为false,元素的底端将和其所在滚动区的可视区域的底端对齐。
document.querySelector('#需要定位的ID').scrollIntoView(true)

也可以配置参数确定定位的位置和动画效果 

document.querySelector('#需要定位的ID').scrollIntoView({
    behavior: "smooth", // 定义动画过渡效果, "auto"或 "smooth" 之一。默认为 "auto"
    block: "center", // 定义垂直方向的对齐, "start", "center", "end", 或 "nearest"之一。默认为 "start"
    inline: "nearest" // 定义水平方向的对齐, "start", "center", "end", 或 "nearest"之一。默认为 "nearest"
})

二、传统锚点定位

html本身就有锚点定位的功能,在html页面内可以设置锚点,通过a链接进行跳转即可

<ul>
  <li id="anchor1">锚点1</li>
  <li id="anchor2">锚点2</li>
  <li id="anchor3">锚点3</li>
</ul>

1)锚点使用

<a href="#anchor1">跳至第一个锚点</a>

2)在js中可以通过location跳转

window.location.href = "#anchor1" // 跳至第一个锚点
// 或者
window.location.hash = "#anchor1" // 跳至第一个锚点

注意:hash只会在跳转到此页面的第一次起作用,再次刷新此页面将不起作用,而href始终起作用。

三、窗口滚动到指定的位置

1. 将窗口滚动到指定的水平和垂直位置

window.scrollTo(x, y);

其中,x 和 y 是数字类型的参数,表示要滚动到的位置的坐标

2. 滚动到顶部

window.scrollTo(0, 0)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值