在vue中 设置锚点 被固定顶部遮挡的问题

2023-10-27

1.如何设置锚点

点击左侧列表,跳转到页面指定的位置。
将页面不同模块设置不同id属性
点击左侧菜单时,采用scrollIntoView() 的方式实现
(注:我用的是vue3 的 script setup语法糖 的写法)

 <span @click="jump('color')">颜色</span>

<div  id="color">
  <span> 颜色 </span>
  ......颜色模块的内容
</div>
<script lang="ts" setup>
	const jump = (id) => { 
	  document.getElementById(id).scrollIntoView();
	}
</script>
 

2、也可使用a标签进行锚点设置

这两种方式都会产生遮挡问题,
解决办法 :
padding + margin

<a href="1">颜色</a>

<div  id="1" class="color">
  <span> 颜色 </span>
  ......颜色模块的内容
</div>

.color{
    padding-top:30px;  // 上方遮挡的高度,根据实际情况自己调整
    margin-top: -30px;

3、使用scrollIntoView() 出现的问题

因为我的是多个页面来回切换,每一个页面都设置了锚点, 所以当第一个页面被点击到了锚点3 的位置,那么我切换页面后,
新页面同样来到了锚点3的位置,而不是从头开始显示的。

原因应该就是 scrollIntoView() 这个 本质是页面滚动,当你在一个页面滚动了一段距离后,再去切换另一个页面,那页面的滚动距离依然存在,所以出现这种情况。

解决办法:
在每次点击跳转新页面的时候,
将页面的滚动设为0

  document.body.scrollTop = 0;
  document.documentElement.scrollTop = 0;

4、实际效果

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在vue中 设置锚点 被固定顶部遮挡的问题 的相关文章

  • Vuejs 错误:客户端渲染的虚拟 DOM 树与服务器渲染的不匹配

    我在我的应用程序中使用 Nuxt js Vuejs 并且我在不同的地方不断遇到此错误 The client side rendered virtual DOM tree is not matching server rendered con
  • 有没有办法使用 Vue-Router 从动态 URL 中删除目录?

    我为一家保险经纪公司构建了一个 vue js Web 应用程序 其中每个代理人都有自己的网站 该网站是根据他们的个人资料生成的 这就是我的 vue router 索引文件中的链接的样子 path agents id name AgentSi
  • JavaScript 中带前导零的数字发生变化

    我使用 print 语句从 php 调用 javascript 函数来打印 html 代码 并且传入一个整数 但是 在 php 中传递的值与 javascript 函数接收到的数字不匹配 我不知道为什么 这是调用 javascript 函数
  • 我可以从命令行打印 html 文件(带有图像、css)吗?

    我想从脚本中打印带有图像的样式化 html 页面 谁能建议一个开源解决方案 我使用的是 Linux Ubuntu 8 04 但也对其他操作系统的解决方案感兴趣 你可以给html2ps http user it uu se jan html2
  • 我应该使用哪种文档类型?

    如果我想使用可定制的 div 我应该使用哪种文档类型 具有div动画 图像移动 设置div不透明度等 我尝试通过 javascript 创建一个 div 设置其背景颜色 位置 宽度和高度 并向其添加 onmouseover 事件 一切正常
  • 从 vue 子组件获取数据并绑定到父组件中的对象

  • * 到底有多慢?

    大家都表示 选择器非常慢 但它到底有多慢呢 我总是试图避免它 但有时它非常有用 例如 h1 margin top 1em 简单来说 通用选择器 速度只与页面上的元素一样慢 Since 从右到左匹配浏览器获取每个元素并将其与所有候选规则进行匹
  • 位图内存不足错误

    我对这个错误有疑问 我从 URL 制作网站图标解析器 我这样做是这样的 public class GrabIconsFromWebPage public static String replaceUrl String url StringB
  • Angular UI select:从远程服务获取数据

    我正在使用角度用户界面选择 https github com angular ui ui select https github com angular ui ui select 我查看了演示的可用位置这个笨蛋 http plnkr co
  • 在随机位置启动 HTML5

    我有一个大约 2 小时长的音轨 我想在我的网站上使用它 我希望它在页面加载时在随机位置开始播放曲目 使用 HTML5 可以吗 我知道您可以使用 element currentTime 函数来获取当前位置 但是如何在完全下载之前获取曲目的总时
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • 更改API数据输出的布局

    我是 API 集成和 PHP 的新手 我最近将 VIN 解码器集成到我的应用程序中 在输入框中输入车辆的 VIN 选择提交 然后就会显示 API 数据库中有关该车辆的所有信息 数据存储为关联数组 其中包含类别及其相应元素 例如 对于 VIN
  • 将按钮文本放在一行上

    我的按钮文本在 safari 中显示在一行上 即使在初次单击后 但是在 google chrome 上 当您第一次到达该按 钮时 我的按钮将显示在一行上 但是当您浏览更多帖子并再次遇到 加载更多 按钮时 文本搞砸了 这只发生在谷歌浏览器上
  • 为不同的字体系列指定不同的字体大小

    有没有办法为不同的字体系列指定不同的字体大小 我想要使 用的字体 出于产品品牌目的 是一种有点罕见的字体 FlashDLig 并非所有 PC 和浏览器都支持 我的一台带有 IE 9 的 Windows 7 PC 不显示它 现在 对于我使用
  • 如何通过 jQuery 中的类获取特定 html 元素的innerHTML?

    我有这样的 HTML 代码 div class a html value 1 div div class a html value 2 div 我怎样才能访问html value 1 and html value 2使用jquery 分别地
  • 如何删除标题中的粗体?

    我有一个标题 h1 THIS IS A HEADLINE h1 如何使短语 THIS IS 不加粗 其余部分不做任何更改 我在文本装饰中找不到任何相关标签 标题看起来很粗体 因为它大尺寸 如果您已应用粗体或想要更改行为 您可以执行以下操作
  • 如何在画布上所有其他内容后面绘制图像? [复制]

    这个问题在这里已经有答案了 我有一块画布 我想用drawImage在画布上当前内容后面绘制图像 由于画布上已经有内容 我正在使用字面上的画布来创建包含图像的画布 因此我无法真正先绘制图像 所以我无法使用drawImage在我呈现其余内容之前
  • Bootstrap 导航栏与 Google 位置重叠自动完成下拉菜单

    我有一个导航栏 我试图在其中添加一个地点搜索框 除了谷歌位置提示框的一小部分被导航栏重叠 如下图所示 之外 一切几乎都有效 我尝试过改变z index输入框的值改为10或2000或90000但似乎没有效果 我还缺少其他需要做的事情吗 这是
  • 如何在数据列表 HTML PHP 中设置选择

    您好我想知道是否有一种方法可以在数据列表中设置选定的值 我想要这样的东西
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if

随机推荐

  • 区块链技术核心概念与原理理解

    区块链的前世今生 说到区块链 就不得不提及密码朋克 密码朋克萌芽于1970年代 正式发起于1993年 认为保护个人隐私是自由社会的重要基石 反对政府 公司对个人隐私的侵害 政权的基础经常建立在控制数据上 通过此类控制可以害人 压迫人 或让人
  • C++图形开发(2):最基本的图形界面

    文章目录 1 构成 2 内容介绍 2 1 initgraph 2 2 getch 2 3 closegraph 3 总结 今天来简单介绍下最基本的图形界面 1 构成 输入以下内容并编译 这就是一个最基本的图形界面了 include
  • java for循环打印爱心

    心形 import java util Scanner class MyTest public static void main String args for int m 1 m lt 5 m for int n 6 n
  • anaconda虚拟环境搭建(python+opencv)

    一般安装和使用流程 1 安装Anaconda 打开命令行输入conda V检验是否安装及当前conda的版本 以下操作均在Anaconda Prompt命令框下进行 2 conda常用的命令 1 查看安装了哪些包 conda list 2
  • 2019牛客多校训练赛第五场A题 (思维题)

    题目描述 看不清图片可以右击图片 gt 复制图片地址 gt 浏览器新开一个标签页 粘贴此地址就可看大图 也可以右击图片 gt 在新标签页打开图片 题解 题意 给你一个整型x x lt 100 让你输出一个整型y y要满足3个条件 y 能被
  • Ubuntu 20.04无法连接网络(网络图标丢失),重启网络出现Failed to restart network-manager.service

    问题 失去网络图标 这里已经解决 sudo service NetworkManager stop sudo rm var lib NetworkManager NetworkManager state sudo service Netwo
  • 如何按需下载和安装Win10补丁

    如何按需下载和安装Win10补丁 一般我们都是通过系统自带的Windows更新来直接安装补丁 这种方式虽然方便 但是耗时久 而且更新体量也大 会占用很多空间 其实我们完全可以按需下载和安装 下面就给大家介绍方法 工具 原料 Thinkpad
  • Harmony系统更改手机IP

    在当今的互联网环境中 我们经常需要更改手机的IP地址来绕过限制或保护我们的隐私 虽然在一些操作系统上更改IP地址相对较容易 但在Harmony系统上 这可能会有些困难 因此 本文将分享一种在Harmony系统上免费更改手机IP地址的方法 在
  • 【Java SE】继承和多态(保姆级教学)

    点进来你就是我的人了博主主页 戳一戳 欢迎大佬指点 欢迎志同道合的朋友一起加油喔 目录 前言 一 继承 1 什么是继承 2 继承的优缺点 3 对继承的理解 4 方法的重写 5 继承中的构造方法的调用 6 包的声明和使用 7 四种权限修饰符
  • SM3算法设计原理

    SM3密码杂凑算法的描述 SM3密码杂凑算法采用Merkle Damgard结构 消息分组长度为512b 摘要长度256b 压缩函数状态256b 共64步操作步骤 SM3密码杂凑算法的初始值 SM3密码杂凑算法的初始值共256b 由8个32
  • 5G LAN技术专题详解(1)-目录

    相关文章会在公众号同步更新 最近工作忙 更新完公众号后 经常容易忘记再CSDN上再发 公众号上的文章更新的能快一些 各位同学有兴趣可以关注一下 公众号 5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理 保证更新内容的准确性 避
  • VMware Fusion Pro 12 Mac介绍(支持11.0 Big Sur出来啦)

    VMware Fusion 12 出来啦 完美支持macOS Big Sur系统 Fusion 12 包含几项新的更新和改进 包括 eGPU 兼容性 对使用 Kubernetes 构建的基于容器的应用程序的支持 DirectX 11 和 O
  • 计算机软件毕业设计项目源码大全

    给计算机软件相关专业的同学准备了许多毕设项目源码 大家可以下载 找到跟自己类似的 学习下别人的软件是如何做出来的 gitee下载地址 https gitee com chenshuai777 soft 部分截图如下 太多了我就不一一截出来了
  • 数字化项目建设管理难点分析与对策

    企业数字化发展主要以项目建设为依托 通过分阶段 有计划地实施一系列数字化项目 来不断夯实基础设施建设 持续深化业务系统应用 大力推进研发资源服务 稳步提升安全保密防护措施 日益完善运维管理体系 随着企业改革的不断深入 在加快数字化建设进程过
  • 使用随机森林算法编写评分卡模型

    数据来源于信贷用户 数据量级为2W 首先读取数据 忽略警告 import warnings warnings filterwarnings ignore 导入常用库pandas Numpy matplotlib import pandas
  • Linux下如何操作寄存器(用户空间、内核空间方法讲解)

    本期主题 linux下操作寄存器 往期链接 linux设备驱动中的并发 linux设备驱动中的编译乱序和执行乱序 linux设备驱动之内核模块 linux字符驱动 linux字符驱动之ioctl部分 linux字符驱动之read write
  • 深度学习之强调一下数据的重要性

    在深度学习模型的测试过程中 数据集的选择很重要 在构造数据集的时候 要注意做好数据的清洗和标注 一个高质量的数据集往往能够提高模型训练的质量和预测的准确率 在缺乏数据的情况下 可以尝试寻找一些公开数据集 特别是得到公认的被普遍使用的数据集
  • HTML、CSS、JS简单介绍以及HTML的标签

    目录 一 HTML 结构 1 了解网页 2 了解HTML 二 CSS 样式 1 CSS 网页的美容师 2 CSS 的规则 3 CSS的格式 三 JavaScript 行为 1 JavaScript的历史 2 JavaScript的简介 3
  • 小白 / Java面试必知必会系列

    1 Java学习路线推荐 2 Java经典电子版书 3 Java面试必知必会 介绍 本仓库主要讲解Java在面试中的高频考点 分别包含Java基础 Java集合 Java多线程与并发编程 Java虚拟机 数据库 计算机基础 框架和中间件等
  • 在vue中 设置锚点 被固定顶部遮挡的问题

    1 如何设置锚点 点击左侧列表 跳转到页面指定的位置 将页面不同模块设置不同id属性 点击左侧菜单时 采用scrollIntoView 的方式实现 注 我用的是vue3 的 script setup语法糖 的写法 span 颜色 span