js 锚点定位的2种简单方法

本文介绍了两种网页定位技术:传统的HTML锚点定位和使用JavaScript的scrollIntoView方法。锚点定位可能会影响URL的hash,而scrollIntoView方法则提供了一种不改变URL且能平滑滚动到页面指定位置的方式。此外,还详细阐述了scrollIntoView的参数配置,包括行为、块对齐和行对齐方式,以实现更灵活的定位和动画效果。
摘要由CSDN通过智能技术生成

一.解决方案

第一种方案:传统的锚点定位
但是这个方案有一个弊端,就是会影响url 的hash

<div id="anchor">跳到这里来</div>
//html中定义一个锚点,这里可以用name或者id,即锚点的目的地
<a href="#anchor">点击这</a>
//这是锚点的入口,点击这,锚点激活,href属性绑定你想跳到的位置的div盒子的id或者name

第二种方案:使用scrollIntoView方法进行定位到某一位置
不会影响影响url 的hash,

<div id="anchor">跳到这里来</div>
//还是需要先定义锚点的目的地
<span  @click="jumpClick()">点击这</span>
  //这是锚点的入口,绑定点击事件
jumpClick(){
 document.querySelector('#anchor').scrollIntoView(true)
 //如果为true,元素的顶端将和其所在滚动区的可视区域的顶端对齐
 //如果为false,元素的底端将和其所在滚动区的可视区域的底端对齐
}

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

document.querySelector('#anchor').scrollIntoView({
  behavior: "smooth", 
  // 定义动画过渡效果, "auto"或 "smooth" 之一。默认为 "auto"
  block: "center",
  // 定义垂直方向的对齐, "start", "center", "end", 或 "nearest"之一。默认为 "start"
  inline: "nearest" 
  // 定义水平方向的对齐, "start", "center", "end", 或 "nearest"之一。默认为 "nearest"
})
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值