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

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.11 Zip

1. Laden Sie das MySQL 5.7.11 Zip-Installationspa...

So konfigurieren Sie eine VMware-Umgebung mit mehreren Knoten

Dieses Tutorial verwendet CentOS 7 64-Bit. Weisen...

So legen Sie einen gepunkteten Rahmen in HTML fest

Verwenden Sie CSS-Stile und HTML-Tag-Elemente Um ...

Leitfaden zum Schreiben von HTML-Code

Gängige Konventions-Tags Selbstschließende Tags, ...

Detaillierte Erklärung zur Verwendung des <meta>-Tags in HTML

Wenn wir möchten, dass mehr Leute die von uns ers...

So verbessern Sie die MySQL Limit-Abfrageleistung

Bei MySQL-Datenbankoperationen hoffen wir immer, ...

Zusammenfassung einiger Gedanken zur Binlog-Optimierung in MySQL

Frage Frage 1: Wie kann der Leistungsverlust beho...

Bereinigungsmethode für das Docker-Verzeichnis /var/lib/docker/aufs/mnt

Der Dienst des Unternehmens verwendet Docker und ...

CSS- und HTML- und Front-End-Technologie-Schichtendiagramm

Front-End-Technologieschicht (Das Bild ist etwas e...

So zeigen Sie den Rahmen an, wenn td leer ist

Zuvor habe ich zusammengefasst, wie man mit CSS di...

So zeigen Sie den Speicherort von MySQL-Datendateien an

Wir haben möglicherweise eine Frage: Nachdem wir ...