网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是关于vue使用原生js实现滚动页面跟踪导航高亮,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
需要使用vue做一个专题页面。
滚动页面指定区域导航高亮。
监听滚动页面事件,对比当前页面的位置与元素的位置,如果当前滚动的区域位置大于元素的位置,导航添加class,其他去掉class进行样式切换。
我使用的方法是在定位元素上添加id,在导航添加data-id属性,监听滚动事件,如果当前滚动区域大于定位元素区域,将元素的id赋值给变量,然后与导航的data-id进行匹配,切换class。
html结构
main.vue
<template>
<div class="qz-home">
<div class="quiz-container">
<div class="quiz-ad-pic" id="pagetop"></div>
<div class="quiz-main">
<div class="quiz-main-inside" id="js-content">
<quiz-sessions class="item" id="quizhall"></quiz-sessions>
<quizRecords class="item" id="quizrecord"></quizRecords>
<quiz-history class="item" id="quizHistory"></quiz-history>
<quiz-mine class="item" id="quizMine"></quiz-mine>
<quiz-rank class="item" id="quizRank"></quiz-rank>
<quiz-rule class="item" id="quizRule"></quiz-rule>
</div>
</div>
<navigation id="js-nav"></navigation>
</div>
</div>
</template>