Implementieren einer benutzerdefinierten Bildlaufleiste mit nativem JS

Implementieren einer benutzerdefinierten Bildlaufleiste mit nativem JS

In diesem Artikelbeispiel wird der spezifische JS-Code zur Implementierung einer benutzerdefinierten Bildlaufleiste zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

1. HTML-Datei

Div1 ist die Bildlaufleiste, div2 ist die Bildlaufkugel, div3 ist der Textbereichscontainer und div4 ist der Textbereich.

<div id="div">
 <div id="div1">
 <div id="div2"> </div>
 </div>
 <div id="div3">
 <div id="div4">
 <p>CSS3-Anleitung</p>
 <p>CSS3-Anleitung</p>
 <p>Einführung in CSS3</p>
 <p>CSS3-Rahmen</p>
 <p>CSS3 abgerundete Ecken</p>
 <p>CSS3-Hintergrund</p>
 <p>CSS3-Farbverläufe</p>
 <p>CSS3-Texteffekte</p>
 <p>CSS3-Schriftarten</p>
 <p>CSS3 2D-Transformationen</p>
 CSS3 3D-Transformationen
 <p>CSS3-Übergänge</p>
 <p>CSS3-Animation</p>
 <p>CSS3 Mehrere Spalten</p>
 <p>CSS3-Benutzeroberfläche</p>
 <p>CSS3-Bilder</p>
 <p>CSS3-Schaltfläche</p>
 <p>CSS3-Seitennummerierung</p>
 <p>CSS3-Boxgröße</p>
 <p>Flexible CSS3-Box</p>
 <p>CSS3-Multimediaabfragen</p>
 <p>Beispiel für eine CSS3-Multimediaabfrage</p>
 </div>
 </div>
</div>

2.css-Style-Datei

Der Container wird durch Überlauf ausgeblendet, der Textbereich absolut positioniert und dann zur Verarbeitung an js übergeben.

*{Polsterung: 0; Rand: 0;}
#div{oben:200px;links:25%;Breite: 50%;Höhe: 300px; Position: absolut; 
}
#div1{Breite: 20px; Höhe: 300px; Position: relativ; 
Hintergrund: #CCCCCC; Rahmenradius: 28px; Float: rechts; Cursor: Zeiger;}
#div1 #div2{links: -4px;Breite: 28px;Höhe: 28px;Randradius: 50%; Hintergrund: rot;
position: absolut;}

#div3{Breite: 90%; Höhe: 300px; Rahmen: 2px durchgezogen #CCCCCC;
Position: relativ; Float: links; Überlauf: versteckt;}
#div3 #div4{oben:0;links:0;Breite: 100 %; Position: absolut; Schriftfamilie: „Microsoft YaHei“;
Schriftgröße: 19px; Buchstabenabstand: 1px; Polsterung: 3px 6px;}

3.js-Skriptcode

fenster.onload = funktion(){
 var allDiv = document.getElementById('div');
 var oDiv = document.getElementById('div2');
 var aDiv = document.getElementById('div1');
 var textDiv1 = document.getElementById('div3');
 var textDiv2 = document.getElementById('div4');
 
 // Der Fortschrittsbalken wird gezogen und der Inhalt folgt dem Bewegungsereignis oDiv.onmousedown = function (ev) {
 var oEvent =ev||Ereignis;
 
 var disY =oEvent.clientY -oDiv.offsetTop;
 
 wenn (oDiv.setCapture) {
 oDiv.onmousemove = Mausbewegung;
 oDiv.onmouseup = Maus hoch;
 
 oDiv.setCapture();
 }anders{
 document.onmousemove = Mausbewegung;
 Dokument.onmouseup = Maus hoch;
 }
 
 Funktion Mausbewegung(ev){
 var oEvent =ev||Ereignis; 
 var t =oEvent.clientY -disY; 
 var bottomLine = aDiv.OffsetHeight - oDiv.OffsetHeight; 
 
 
 wenn(t < 0){
 t =0;
 }sonst wenn(t >bottomLine){
 t = unterste Zeile;
 }
 
  var Prozent =t/272;
  
 oDiv.style.top = t+'px';
 textDiv2.style.top = - (textDiv2.offsetHeight-textDiv1.offsetHeight) * Prozent + "px";
 
 };
 
 Funktion Maus nach oben () {
 dies.onmousemove =null;
 dies.onmouseup =null;
 
 wenn (oDiv.releaseCapture) {
 oDiv.releaseCapture();
 }
 };
 
 gibt false zurück;
 };
 
 // Klicken Sie auf den Fortschrittsbalken, um den Timer zu starten. Wenn der Ball das Ziel mit konstanter Geschwindigkeit erreicht, löschen Sie den Timer aDiv.onmousedown=function(ev){
 var oEvent =ev||Ereignis; 
 var divY =oEvent.clientY-allDiv.offsetTop;
 var Timer = null; var Geschwindigkeit = 10;
 
 
 Intervall löschen(Timer)
 Timer = Intervall festlegen(Funktion(){
 var Prozent=oDiv.offsetTop/272;
 
 
 wenn(oDiv.offsetTop<divY-28){
 oDiv.style.top = oDiv.offsetTop + Geschwindigkeit + 'px';
 textDiv2.style.top = -(textDiv2.offsetHeight-textDiv1.offsetHeight)*Prozent + 'px';
 }sonst wenn(oDiv.offsetTop>divY){
 oDiv.style.top = oDiv.offsetTop – Geschwindigkeit + „px“;
 textDiv2.style.top = -(textDiv2.offsetHeight-textDiv1.offsetHeight)*Prozent + 'px';
 }sonst wenn(oDiv.offsetTop>260){
 oDiv.offsetTop = 272+'px';
 Intervall löschen(Timer);
 }sonst wenn(oDiv.offsetTop<10){
 oDiv.offsetTop = 0+'px';
 Intervall löschen(Timer);
 }anders{
 Intervall löschen(Timer);
 }
 
 
 },10);
 
 }
 
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Natives JS implementiert benutzerdefinierte Bildlaufleistenkomponente
  • js realisiert das automatische Scrollen der Bildlaufleiste
  • Vue.js Desktop benutzerdefinierte Bildlaufleiste Komponente Verschönerung Bildlaufleiste VScroll
  • Benutzerdefinierter JS-Bildlaufleisteneffekt
  • JavaScript implementiert ein einfaches Chat-Dialogfeld (mit Bildlaufleiste)
  • Implementierung einer benutzerdefinierten JS-Bildlaufleiste mithilfe des JS-Radereignisses
  • JS implementiert Scrollbar-Boden, um mehr zu laden
  • Verwenden von js zum Implementieren einer einfachen Bildlaufleisten-Prozessanalyse
  • layer.js - Beispiel zum Ausblenden der Bildlaufleiste öffnen
  • Vue pure js überwacht das Beispiel der Bildlaufleiste nach unten
  • JavaScript ermittelt die Position der Bildlaufleiste und verschiebt die Seite zum Ankerpunkt

<<:  Lösung für den Fehler bei der MySQL-Remoteverbindung

>>:  Einrichten eines globalen Shadowsocks+Polipo-Proxys in einer Linux-Umgebung

Artikel empfehlen

Linux CentOS6.5 yum installiere mysql5.6

In diesem Artikel wird der einfache Prozess der I...

Verstehen Sie JavaScript-Prototypen und Prototypenketten gründlich

Inhaltsverzeichnis Vorwort Den Grundstein legen P...

VUE + SpringBoot implementiert die Paging-Funktion

Dieser Artikel stellt hauptsächlich vor, wie pagi...

So teilen und führen Sie mehrere Werte in einem einzigen Feld in MySQL zusammen

Mehrere Werte kombiniert anzeigen Nun haben wir d...

Implementierung der Codeaufteilung von Webpack3+React16

Projekthintergrund Seit kurzem gibt es ein Projek...

JavaScript zum Erzielen eines Tab-Umschalteffekts

In diesem Artikel wird der spezifische JavaScript...

Methode zur Implementierung von Website-Hintergrundmusik

Für einzelne Webmaster war es schon immer das Ziel...

19 MySQL-Optimierungsmethoden im Datenbankmanagement

Nach der MySQL-Datenbankoptimierung kann nicht nu...

Beispielcode für Text-Origami-Effekt mit CSS3

Vorwort In diesem Artikel erfahren Sie hauptsächl...

Implementierung einer coolen 3D-Würfeltransformationsanimation in CSS3

Ich liebe das Programmieren, es macht mich glückl...