jquery锚点定位

article/2025/8/23 19:15:36

jquery实现锚点定位功能


这里主要是通过jquery实现了一个简单的滚动触发锚点高亮,以及点击锚点触发滚动的功能
$leftnav为左侧楼层导航栏(left-nav),右侧right-content-body为滚动区域。主要是利用了scrollTo()和对滚动区域scroll事件的监听实现锚点定位及锚点高亮。先附上代码

在这里插入图片描述

var $leftnav = $('.form-content .buildings-room-info div.left-nav');$.each(header_info.floor, (index, item) => {$leftnav.append(`<span id="floor_${item}" ${index === 0 && 'class=selected'}>${item}F</span>`);});// 绑定点击事件,切换背景色$leftnav.on("click", function (e) {if (e.target.localName === 'span' && e.target.id !== 'span_title') {// e.target.id !== 'span_title' && $(e.target).addClass('selected').siblings().removeClass('selected');// 滚动到指定楼层,滚动时长1s$('.form-content .buildings-room-info .right-content .right-content-body').scrollTo('#' + e.target.id, 1000);var scrollHeight = $('.form-content .buildings-room-info .right-content .right-content-body')[0].scrollHeight;var scrollTop = $('.form-content .buildings-room-info .right-content .right-content-body')[0].scrollTop;var height = $('.form-content .buildings-room-info .right-content .right-content-body').height();// 判断滚动条是否到达底部if (scrollTop + height === scrollHeight) {$(e.target).addClass('selected').siblings().removeClass('selected');}}});// 监听滚动区域的滚动,动态切换左侧导航栏(重点)$('.form-content .buildings-room-info .right-content .right-content-body').scroll(() => {// var scrollTop = $scrollContent.scrollTop()for (var i = 0; i < header_info.floor.length; i++) {if ($('.form-content .buildings-room-info .right-content .right-content-body #floor_' + header_info.floor[i]).offset().top <= 206 && $('.form-content .buildings-room-info .right-content .right-content-body #floor_' + header_info.floor[i + 1]).offset().top > 206) {$('.form-content .buildings-room-info .left-nav #floor_' + header_info.floor[i]).addClass('selected').siblings().removeClass('selected');break;}}})

附上效果图
在这里插入图片描述

本文主要是利用jquery实现锚点定位,相对简单一些,有什么不足的请多多指正。之前在vue中实现了锚点定位,有兴趣的可以参考一下。
vue锚点定位==> https://blog.csdn.net/love__xyy/article/details/88047306


http://chatgpt.dhexx.cn/article/FBTt1QT5.shtml

相关文章

锚点定位

1. 例如我们在做一个很长的网页时&#xff0c;需要在页面内做一个导航&#xff0c;点击导航里的链接不是新开一个窗口或者跳转到其他网址&#xff0c;而是跳转到当前页的某一个位置。那么所要跳转到的那个位置&#xff0c;我们就叫做锚点&#xff0c;它是一种在页面内部定位的…

uniapp锚点定位

uniapp 锚点定位 需求&#xff1a;在 uniapp 写 App 时&#xff0c;根据后端接口返回的数据渲染图文&#xff0c;并且要对图片进行锚点定位。 前提&#xff1a;后端要给每张图片一个单独的参数&#xff0c;用来区分每张图片。 思路&#xff1a;前端将这个特定参数注入到图片标…

如何设置锚点居页面顶部距离

锚点是网页制作中超级链接的一种,又叫命名锚记。命名锚记像一个迅速定位器一样是一种页面内的超级链接,运用相当普遍。 使用命名锚记可以在文档中设置标记,这些标记通常放在文档的特定主题处或顶部。然后可以创建到这些命名锚记的链接,这些链接可快速将访问者带到指定位…

锚点定位的三种解决方法

因为在项目中遇到锚点定位的问题&#xff0c;觉得有必要单独成文&#xff0c;来介绍锚点定位的解决办法。 一 学习锚点定位之前的知识储备: 1.1 #号的作用 #代表网页中的一个位置。其右面的字符&#xff0c;就是该位置的标识符。比如&#xff0c;http://www.example.com/ind…

什么是 cookie? 会话 cookie 与持久性 cookie 之间 有何区别?

转载&#xff1a; https://www.cisco.com/c/en/us/products/collateral/security/web-security-appliance/cn/117925-technote-csc-00.html 有 2 种不同类型的 cookie&#xff1a;会话 cookie 和持久性 cookie 简介 本文将介绍什么是 HTTP cookie&#xff0c;以及会话 cookie …

数据持久化

数据持久化 企业数据架构存储技术存储架构 企业数据架构 持久化&#xff08;Persistence&#xff09;&#xff0c;即把数据&#xff08;如内存中的对象&#xff09;保存到可永久保存的存储设备中&#xff0c;如磁盘等。 数据按存储类型可以分为缓存数据库、关系型数据库、NoSQ…

事务四大特征:原子性,一致性,隔离性和持久性。

事务四大特征&#xff1a;原子性&#xff0c;一致性&#xff0c;隔离性和持久性。 1、原子性&#xff08;Atomicity&#xff09; 一个原子事务要么完整执行&#xff0c;要么干脆不执行。这意味着&#xff0c;工作单元中的每项任务都必须正确执行。如果有任一任务执行失败&…

MySQL事务原子性、一致性和持久性以及回滚是如何实现的?

前言 《MySQL事务详解》一文中详细讲解了事务的概念&#xff0c;包括ACID特性&#xff0c;事务并发引起的问题&#xff0c;事务的四种隔离级别。 在事务的四种特性中&#xff0c;原子性、一致性、持久性通过数据库的redo log和undo log来完成&#xff0c;redo log称为重做日志&…

InnoDB引擎--事务持久性

事务是指构成单一逻辑工作单元的操作的集合。数据库系统维护事务的ACID四个特性: 原子性:事务的所有操作在数据库中要么全部反映,要么全部不反映。一致性:事务执行前后数据库保持约束一致性和业务逻辑一致性。隔离性:在事务并发执行时,各个事务都感觉不到其他事务的存在。…

MySQL 是如何保证一致性、原子性和持久性的!

编辑&#xff1a;业余草 来源&#xff1a;https://www.xttblog.com/?p4891 今天&#xff0c;我们来简单的看一下 MySQL 的一致性、原子性和持久性问题。后面还扩展了 15 个简单的面试题&#xff0c;希望大家喜欢&#xff01; 1、Mysql怎么保证一致性的&#xff1f; OK&#xf…

MySQL InnoDB 存储引擎写入磁盘(落盘)的原理\MySQL怎么保证持久性、原子性?(MySQL中是如何实现事务提交和回滚的)\隔离性

文章目录 一、MySQL InnoDB 存储引擎写入磁盘&#xff08;落盘&#xff09;的原理一条 update 语句在写入磁盘的过程为什么必须有“两阶段提交”呢&#xff1f; binlog 的写入机制 二、MySQL怎么保证持久性、原子性?(MySQL中是如何实现事务提交和回滚的)redo log(重做日志) 如…

MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)

日志的重要性 日志绝对是数据库的核心. 持久化的日志记录了各种重要的信息.数据的恢复需要依赖日志。 慢查询sql语句需要用到慢查询日志。以及错误日志中保存着mysqld数据库服务端在启动过程中发生的重大错误信息... 数据库重要组成 本质上来说是一个文件系统 (两大重要组…

MySQL究竟是如何做到持久性的?

前言 我们学习事务中&#xff0c;对于持久性&#xff08;durability&#xff09;是这样定义的&#xff1a;事务一旦提交&#xff0c;则其所有的修改将会保存到数据库当做。即使此时系统崩溃&#xff0c;修改的数据也不会丢失。同时数据库连接中&#xff0c;默认有一个参数auto…

理解事务四大特性(Transaction)——原子性、一致性、隔离性和持久性(ACID)

事务是指对系统进行的一组操作&#xff0c;为了保证系统的完整性&#xff0c;事务需要具有ACID特性&#xff0c;具体如下&#xff1a; 1. 原子性&#xff08;Atomic&#xff09; 原子性是指事务是一个不可分割的工作单位&#xff0c;事务中的操作要么都发生&#xff0c;要么都…

持久性连接和非持久性连接

HTTP连接有两种,一种为持久性连接;另一种为非持久性连接。 由于不同的HTTP版本,使用不同的方式。 在这里分析一下二者的区别: 一、非持久性连接(Nonpersistent HTTP) 特点:每个TCP连接最多允许传输一个对象 HTTP 1.0使用的非持久性连接 过程: 响应时间分析与建…

mysql事务如何保证持久性_详解MySQL事务持久性实现

所谓MySQL事务持久性就是事务一旦提交,就是永久性的,不会因为宕机等故障导致数据丢失(外力影响不保证,比如磁盘损害)。持久性是保证了MySQL数据库的高可靠性(High Reliability),而不是高可用性(Hign Availability)。 MySQL的innoDB存储引擎,使用Redo log保证了事务的持久性…

Mysql持久性的实现

1、持久性的定义 事务一旦提交&#xff0c;则其所有的修改将会保存到数据库当中。即使此时系统崩溃&#xff0c;修改的数据也不会丢失。同时数据库连接中&#xff0c;默认有一个参数autocommit1&#xff08;如果想要关掉&#xff0c;要set autocommit0,然后要手动的开启关闭&a…

数据库事务-持久性原理

持久性&#xff08;Durability&#xff09;: 事务处理结束后&#xff0c;对数据的修改就是永久的&#xff0c;即便系统故障也不会丢失。&#xff08;持久性由redo log日志来保证&#xff09; 以一个跟新语句执行流为例&#xff1a; 在存储引擎执行时&#xff0c;会先在缓存池…

MYSQL 1251

今天折腾mysql&#xff0c;&#xff0c;一直在连接的时候出现1251的报错&#xff0c;然后百度了很多方法&#xff0c;都没有办法成功&#xff0c;&#xff0c;最后折腾了好久&#xff0c;&#xff0c;终于成功了&#xff0c;进入MySQL 8.0 Command Line Clien&#xff0c;依次输…

java_1125

1。从键盘输入一个字符串 编写一个程序&#xff0c;判断输出一个字符串中大写英文字母数&#xff0c;和小写英文字母数&#xff0c;和其他非英文字母数 2. 编写一个方法&#xff0c;返回一个double类型的二维数组&#xff0c;数组中的元素通过解析字符串参数获得&#xff0c…