首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

vue+element跳转+自动感应导航

最近来个需求,要做一个页面,每个模块都是百分百全屏且右侧有个导航能自动感应在哪个模块,点击也能直接跳转到该。 其实难点也就那几个,慢慢捋一下就好,话不多说上代码!!...1、跳转且点击哪个会模块右侧导航就会高亮 我这个导航是因为未来增加模块以免还要自己手动加了就直接调接口循环了,如果是固定的直接写死也行,看见那个:key=“key”了没,对,你想的没错,跟那个没关系...2、关于翻页自动感应 思路 前面说了,我们是使用index来控导航中哪个模块高亮的 当鼠标往下滚动时让整个页面往下滚动整个页面的高度且index加一反之减一 具体实现 <div @mousewheel...然后就可以监听鼠标滚轮向上还是向下了 呃…想详细了解的朋友自行百度哈,这里不过多赘述 当鼠标向下滚动时我们使用 window.scrollTo(x,y); 来让页面进行滚动且让index加一反则减一 这样一来就能实现导航的自动感应了...但是要注重几个细节问题 第一、当你到达了顶部或者底部时需要重置你的index 第二、你加的高度变量要重置 第三、滚到底部或者顶部时需要取消终止滚动函数 以上就是自动感应导航的实现了,如果有不明白的朋友可以评论或者私信讨论

1.8K50
您找到你想要的搜索结果了吗?
是的
没有找到

导航滚动吸顶并自动高亮和点击跳转

实现方法 正常情况下我们点击自动定位到其所在位置一般用id的方式,但是这种方式有一个缺陷就是无法实现滚动条缓动效果,而且带url上还会通过hash的方式显示出ID,另外也无法实现滚动到内容所在位置自动高亮导航...下面我们来看一下导航吸顶和滑动到指定位导航高亮的逻辑。...这样我们就实现了通过滚动条来控制导航高亮的效果了,接下了我们要实现的便是点击导航自动定位到其所在内容。...,结果导致程序无限循环的bug, 通过下面的代码应该可以明白此变量的意义*/ let prevScrollTop = null; let isToTop = false;//点击时滚动条是向上还是向下...,并超过导航栏位置自动吸顶效果,同时点击导航滚动条缓动至位置,实现的最终效果可以看阿里云市场详情页中的效果,比他显示的效果多了滚动条缓动效果。

10.2K40

hash实现平滑滚动定位

是网页制作中超级链接的一种,又叫命名记。命名记像一个迅速定位器一样,是一种页面内的超级链接 二、简单的栗子 <!...三、改进过渡效果 前期理论准备 既然hash值是对应的id值,那如果改为js动态获取hash值,然后再根据hash值获得dom对象。最后,用js进行平缓过渡。  ... 编写读取特殊hasn值的方法以及缓动方法(本示例不考虑兼容性)** (function(window, undefined){ // 监听页面加载完成后,检查是否需要定位...window.onload = function(){ scrollToAnchor(); }; // 监听地址url的hash值改变时,检查是否需要定位 window.onhashchange...class="spacing2">间隔8 (function(window, undefined){ // 监听页面加载完成后,检查是否需要定位

8.4K41

CSS 解决定位被顶覆盖问题

昨天把文章内目录(TOC)搓出来了,然而用的时候发现跳转会被顶部导航盖住,简单查了一下,果然是可以用 CSS 解决的。...------------------------------+ +---------------------------------+ 利用负 margin 偏移 一般很容易就能想到,直接给标签加一个...h2{ padding-top: 顶高度; margin-top: -顶高度; } 示意图 负 margin 不会破坏文档流,用负 margin 减少自身高度,进而产生向上的偏移,且后面元素会继续紧贴着块...h2:before{ content: ""; display: block; height: 顶高度; margin-top: -顶高度; } 示意图2 这里是创建了一个顶高度的伪元素挤开下方元素...:target 顺便提一嘴,还发现了一个选择器 :target,可以选择当前聚焦的。在这里应该用不上。

69720

原生JS实现可折叠导航

但在代码中,并不能真的用for循环来做,那样在移动过程中js就会一直卡在循环中而不能执行其他代码,所以这里可以使用setInterval函数来做,它会每隔一段时间调用一次某个方法,格式为setInterval...nav.getBoundingClientRect().width == navTargetWidth){ clearInterval(CWLN); } } 调用时机为触发指定事件时调用,这里事件分为,点击按钮,鼠标进入导航...,鼠标移出导航三种。...当点击按钮后,判断当前导航是收缩还是展开状态,如果是收缩状态就将导航的宽和内容块的左外边距逐渐增长为展开时的值,反之同理。而判断是通过一个变量来标识导航状态实现。...leftNavIsClose; } 当鼠标进入和离开导航时: document.getElementsByClassName("left-nav")[0].onmouseenter = function

7.2K20

让Emlog导航的地址更简洁一

自从Emlog升级到5.0版以后,后台的管理与设置就变得更简单和高效了,特别是新增加的“导航”功能,更是让导航的定制变得极其简单。...不过稍微细心一的EMER肯定会注意到,所有导航中添加的的自建页面、分类以及自定义导航(即原来的链接地址),都是一个带有“http://”的完整的地址,与系统本身的碎语和管理页面的地址相比,要长了许多,...但是,当我们不是在默认的首页,而是在其它页面访问导航上的各个栏目时,问题就来了,此时访问的实际地址为当前页面的地址后面加上后台所设置的跳转地址。...先不要着急,其实我们只要对模板再作一小小的修改,完全可以访问这种短地址。...现在,不论从什么页面访问导航,都不会再出错了。

29310

React项目中如何实现一个简单的目录定位

前言 目录定位功能在长页面和文档类网站中非常常见,它可以让用户快速定位到页面中的某个章节 如何在React中实现定位和平滑滚动 目录自动高亮的实现思路 处理顶部导航遮挡的解决方案 服务端渲染下的实现方案...对于定位来说,主要涉及这两个部分: 设置,为页面中的某个组件添加id属性 点击链接,跳转到指定处 例如: // 组件 function AnchorComponent() {...定位和目录联动 很多时候,我们会在页面中实现一个目录导航,可以快速定位到各个章节。...问题解析 遮挡问题 有时会被固定的Header遮挡,此时滚动会定位到元素上方,用户看不到对应的内容。...但是在Next.js的SSR环境下就会有问题: 点击目录链接时,页面不会滚动。 这是因为在服务端,我们无法获取组件的ref,所以元素不存在,自然无法定位。 滚动页面时,目录高亮也失效。

59820

【CSS】使用 固定定位 实现顶部导航 ( 核心要点 | 固定定位元素居中设置 | 代码示例 )

一、核心要点分析 ---- 实现下图所示功能 : 上方有一个固定导航 , 水平居中设置 ; 左右两侧各一个广告 , 垂直居中设置 ; 1、顶部导航要点 顶部导航要点 : 使用固定定位 , 上边偏移设置为...0 , 即可设置为顶部导航 , 其位置不受页面滚动影响 ; /* 设置固定定位 */ position: fixed; top: 0; 由于顶部的导航设置了 绝对定位 , 该元素是脱标的..., 下方的网页内容会被顶部导航覆盖 , 这里需要设置一个上外边距 , 上外边距值大于等于 顶部导航的高度 ; /* 顶部的固定定位盒子高度 100px 由于其脱标会覆盖标准流元素..., 如果要精确放置顶部导航的位置 , 顶部导航盒子必须设置宽度 , 这里选择设置其宽度为 100% ; /* 定位元素如果不设置宽度 默认就是内部内容的宽度 */ /* 如果要设置盒子...*/ /* 该盒子要设置成占用整个水平宽度 */ width: 100%; 顶部导航盒子需要设置到最上层 , 防止其被设置了定位的网页内容覆盖 ; /* 该盒子位于最上层 不要被其它盒子覆盖

2.7K50

0行JS,30行css搞定导航下划线跟随效果

在码代码之前了,我们可以尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果? 在这之前了,有一次需求就是实现这个效果,我是用js实现的。...解析 我们定义一下简单的规则,要求如下: 1、假设 HTML 结构如下: Web秀 CSS导航 今日头条...同理,当从导航的右侧 li 移向左侧 li,下划线从右往左移动。 看整个效果,我们不知道如何做起的时候,我们先一步一步来,先完成前2个效果。...如果看不出来的小伙伴,可以把过渡效果时间设置长一(0.5s)。第一个 li 的方向是正确了,但是第二个 li下划线的移动方向又错误了。 ?...对于当前 hover 的 li ,其对应伪元素的下划线的定位是 left: 100%,而对于 li:hover ~ li::before,它们的定位是 left: 0。

3.2K20

VUE-项目结构

main.js:实例化vue对象,并且绑定通过id选择器,绑定到index.html的div中,因此main.js的内容都将在index.html的div中显示。...相当于之前的 App.vue中也没有内容,而是定义了vue-router的:,我们之前讲过,vue-router路由后的组件将会在展示。...组件) --> 该组件显示在App.vue的位置 --> main.js使用了App.vue组件,并把该组件渲染在index.html文件中(id为“app”的div中) 3.3.页面布局 接下来我们一起看下页面布局...包含左,上,中三部分: 里面使用了Vuetify中的2个组件和一个布局元素: v-navigation-drawer :导航抽屉,主要用于容纳应用程序中的页面的导航链接。...v-toolbar:工具通常是网站导航的主要途径。可以与导航抽屉一起很好地工作,动态选择是否打开导航抽屉,实现可伸缩的侧边。 v-content:并不是一个组件,而是标记页面布局的元素。

1.9K20
领券