锚点实现了点击导航平滑滚动到页面指定位置的三种方法

一、使用CSS的 scroll-behavior: smooth 属性

在 标签上设置了 scroll-behavior: smooth,所有带有 # 的锚点链接(如导航菜单、返回顶部按钮)都会自动带有平滑过渡效果,无需额外代码。

css 复制代码
html{
 scroll-behavior: smooth
}
html 复制代码
<a href="#item1">第一主题</a>

<p id="item1">
	<div class="title">
	    第一主题
	</div>
	<div class="content">
	    <img src="../0-static/images/image.png" alt="图片描述" title="图片标题" width="300" height="400">
	</div>
</p>

二、使用JavaScript的 scrollIntoView 方法

scrollIntoView() 方法会滚动元素的祖先容器。

js 复制代码
function handleClick(id) {
    const item4 = document.getElementById(id)
    if(!item4) return 
    item4.scrollIntoView({
         behavior:'smooth',
         block:'start',
         inline:'nearest'
    })
 }

三、使用JavaScript的 window.scrollTo 方法

scrollTo() 方法可以使界面滚动到给定元素的指定坐标位置。

js 复制代码
function handleClick1  (id){
    const item3 = document.getElementById(id)
    if(!item3) return
    window.scrollTo({
        top:item3.offsetTop,
        left:item3.offsetLeft,
        behavior: "smooth",
    })
}
相关推荐
持敬chijing5 小时前
白盒测试与代码审计-js登录逆向实战
javascript·网络·安全·web安全·网络安全·网络攻击模型
优选资源分享5 小时前
PicGo v3.0.3 新版 | 开源免费图床工具
javascript·笔记·electron
ShineWinsu6 小时前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环
普通人67 小时前
php+html+canvas实现树状打开的结构
开发语言·javascript·html5·1024程序员节
猫头_8 小时前
AI 流式传输工程指南:模型吐出半截 JSON,前端如何边收边渲染?
前端·javascript·llm
我的div丢了肿么办9 小时前
element-plus表格使用:filter-method过滤导致出现无数据
前端·javascript·vue.js
YIAN9 小时前
入门篇:LangGraph 入门实战:从零搭建最简单的 RAG 问答系统
javascript·langchain
YIAN9 小时前
高级篇:进阶多跳 RAG:子问题拆解 + 循环检索 + 智能规划,搞定复杂链式问题
javascript·langchain
YIAN9 小时前
前置篇:手把手用 Milvus + LangChain 搭建小说向量知识库,《天龙八部》EPUB 一键入库
javascript·langchain
YIAN9 小时前
进阶篇:RAG 优化第一步:给你的问答系统加上智能路由,实现双分支分流
javascript·langchain