


vue verwendet natives js, um die Verfolgung der Bildlaufseite und die Navigationshervorhebung zu implementieren
Der Inhalt dieses Artikels befasst sich mit der Verwendung von nativem JS zur Implementierung von Scrolling-Seitenverfolgung und Navigationshervorhebung. Ich hoffe, dass er für Sie hilfreich ist.
Sie müssen Vue verwenden, um eine spezielle Seite zu erstellen.
Markieren Sie die Navigation im angegebenen Bereich der Scroll-Seite.
Hören Sie sich das Bildlaufseitenereignis an und vergleichen Sie die Position der aktuellen Seite mit der Position des Elements. Wenn die Position des aktuellen Bildlaufbereichs größer als die Position des Elements ist, fügen Sie der Navigation eine Klasse hinzu, andernfalls entfernen Sie sie die Klasse für Stilwechsel.Die Methode, die ich verwende, besteht darin, dem Positionierungselement eine ID hinzuzufügen, das Daten-ID-Attribut zur Navigation hinzuzufügen, auf Bildlaufereignisse zu warten und, wenn der aktuelle Bildlaufbereich größer als der Bereich des Positionierungselements ist, die ID des Elements zuzuweisen zu einer Variablen hinzufügen und diese dann mit den Navigationsdaten kombinieren. Passen Sie die ID an und wechseln Sie die Klasse.
HTML-Struktur
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>
navigation.vue
<template> <nav class="nav-container"> <div class="nav-mark"></div> <div class="nav-main"> <ul class="nav-list"> <li :class="{'cur': curindex === index}" v-for="(item, index) in navList" :key="index" :data-id="item.id"><a @click="linkTo(item.id, index)">{{item.name}}</a></li> </ul> <div class="backtop" @click="backTop()"> <a></a> </div> </div> </nav> </template>
javascript
export default { name: "Navigation", data() { return { navList: [ { name: "竞猜大厅", id: "quizhall" }, { name: "竞猜记录", id: "quizrecord" }, { name: "历史赛事", id: "quizHistory" }, { name: "我的竞猜", id: "quizMine" }, { name: "排行榜", id: "quizRank" }, { name: "玩法", id: "quizRule" } ], curindex: 0 }; }, mounted() { this.initScroll(); }, methods: { initScroll() { let _this = this; // 监听页面滚动事件 window.addEventListener('scroll', function() { var removeClass = function(obj, cls) { if (obj.className == cls) { obj.className = ""; } } var addClass = function(obj, cls) { if (obj.className != cls) { obj.className = cls; } } let pos = document.documentElement.scrollTop; if (pos > 300) { _this.isVisibleNav = true; } else { _this.isVisibleNav = false; } // 获取全部导航dom与元素dom var navList = document.querySelector("#js-nav").querySelectorAll("li"); var items = document.querySelector("#js-content").querySelectorAll(".item"); // 滚动后遍历元素,如果页面滚动位置大于元素的位置,赋值给变量 var currentId = ""; for (var i = 0; i < items.length; i++) { var _item = items[i]; var _itemTop = _item.offsetTop; if (pos > _itemTop - 200) { currentId = _item.id; } else { break; } } // 如果已赋值了变量,进行匹配,如果匹配则添加class其他删除 if (currentId) { for (var j = 0; j < navList.length; j++) { var _navItem = navList[j]; var _navId = _navItem.getAttribute('data-id'); if (_navId != currentId) { removeClass(_navItem, "cur"); } else { addClass(_navItem, "cur"); } } } }) } } };
Das obige ist der detaillierte Inhalt vonvue verwendet natives js, um die Verfolgung der Bildlaufseite und die Navigationshervorhebung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Vue.js eignet sich für kleine und mittelgroße Projekte und schnelle Iterationen, während React für große und komplexe Anwendungen geeignet ist. 1) Vue.js ist einfach zu bedienen und für Situationen geeignet, in denen das Team nicht ausreicht oder die Projektskala klein ist. 2) React hat ein reichhaltigeres Ökosystem und eignet sich für Projekte mit hoher Leistung und komplexen funktionalen Bedürfnissen.

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

H5REFERSTOHTML5, ApivotaltechnologyInwebdevelopment.1) HTML5IntroducesNewelementsandapisrich, Dynamicwebapplications.2) ITSUPP ortsmultimediaWitHoutPlugins, BETHINGINGUSEREXPERICERCROSSDEVICES.3) SEMANTICELEMENTSIMPROVEPENTENTENTENTRUCTENTRUCTELUREANDSEO.4) H5'SRespo

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.
