1. Anzeigeeffekt: 2. HTML-Struktur <div Klasse="Prozessliste-lpu"> <div Klasse="Prozesslinie"></div> <div Klasse="Inhaltsliste"> <ul> <li><a href="javascipt:;">Endkunde erhält Produkt<b>1</b></a> </li> <li><a href="javascipt:;">Melden Sie sich auf der EFOSE-Website an und geben Sie die Installations- oder Wartungsanforderungen an <b>2</b></a></li> <li><a href="javascipt:;">EFOSE bevorzugt Kontaktservicepunkt<b>3</b></a> </li> <li style="margin-left:115px;"><a href="javascipt:;">Kundenkontakt-Servicestelle, um Service zu erhalten<b>4</b></a> </li> <li><a href="javascipt:;">Der Kunde bezahlt die Rechnung direkt oder EFOSE übernimmt die Wartungskosten<b>5</b></a> </li> </ul> <div Klasse="klar"></div> </div> </div> 3. Wichtigste CSS-Stile .line-lpu{ Höhe: 55px; Position: relativ; Breite: 100 %; Überlauf: versteckt;} .line-lpu span{ Breite:43px; Höhe:46px; Hintergrund:URL('https://www.efose.com/images/banners/lpu_03.png') keine Wiederholung; Position:absolut;oben:0;} .border-lpu{border-bottom:1px solid #959595; Höhe:23px; } .join-lpu li{ Breite: 19 %; Float: links; Rand rechts: 8px; Hintergrund: keiner; Polsterung: 0; } .join-lpu li a{ Anzeige: Block; Farbe: #606060; Textdekoration: keine; Rahmen: 1px durchgezogen #959595; Mindesthöhe: 215px; Polsterung: 10px; Position: relativ; Überlauf: ausgeblendet;} .join-lpu li a:hover{border:1px solid #337ab7;} .join-lpu li b{ Schriftgröße:60px; Position:absolut; unten:7px; rechts:-1px; Schriftstil:kursiv; Farbe:#c7c7c7;} .clear{clear:both;} .step-lpu span{ Hintergrund: URL ('https://www.efose.com/images/banners/icon-lpu.png') keine Wiederholung; Anzeige: Block; Breite: 75px; Höhe: 65px; Rand links: 28px;} .step-lpu .icon0{ Hintergrundposition:0 0;} .step-lpu .icon1{ Hintergrundposition:0 -70px;} .step-lpu .icon2{ Hintergrundposition:0 -140px;} .step-lpu .icon3{ Hintergrundposition:0 -204px; Höhe:58px; Rand unten:7px;} .step-lpu .icon4{ Hintergrundposition:0 -260px;} 4. JavaScript schreiben <Skripttyp="text/javascript"> //AnimationHover-Objekt instanziieren window.onload = function(){ var ah = neue AnimationHover(); ah.init(); }; //Label-Objektfunktion initialisieren animationHover(){ dieser.Schritt = document.getElementById('Schritt'); this.stepLi = this.step.getElementsByTagName('li'); diese.Zeile = document.getElementById('Zeile'); dies.attr = null; dieser.timer = null; dieses.ziel = null; } //Ereignisanimation initialisierenHover.prototype.init=function(){ Dies = dies; für(var i=0;i<this.stepLi.length;i++){ dies.SchrittLi[i].index=i; //Ereignis an Li-Tag binden this.stepLi[i].onmouseover=function(e){ var meinIndex=dieser.index; Dies.onOver(Diese.zeile,(meinIndex*162+55)); }; dies.SchrittLi[i].onmouseout=Funktion(){ Diese.Linie.Stil.links=meinIndex*162+55+'px'; }; } }; //Definieren Sie die Mausverarbeitungsfunktion animationHover.prototype.onOver=function(obj,target){ Dies=dies; : ClearInterval(dieser.Timer); Dies.Ziel=Ziel; Timer = Intervall festlegen(Funktion(){ var target=This.target; //Zielpunkt stoppen var attrValue=parseInt(This.getStyle(obj,'left')); var dx=target-attrValue; //"Entfernung" vom Zielpunkt var Geschwindigkeit=1/10*dx; Geschwindigkeit=Geschwindigkeit>0?Math.ceil(Geschwindigkeit):Math.floor(Geschwindigkeit); //Durch Runden verursachtes Zittern verhindern if(target==attrValue) clearInterval(timer); //Wenn du den Zielpunkt erreichst, schalte den Timer aus, sonst{ obj.style.left=attrValue+Geschwindigkeit+'px'; } },100); }; //Den CSS-Attributwert des aktuellen Tag-Objekts abrufen animationHover.prototype.getStyle = function (obj, attr) { wenn (obj.aktuellerStil) { returniere obj.currentStyle[attr]; }anders{ gibt getComputedStyle(obj,false)[attr] zurück; } }; </Skript> Zusammenfassen Oben ist das HTML+CSS+JavaScript, das ich Ihnen vorgestellt habe, um den Auswahleffekt durch Verfolgen der Mausbewegung zu erzielen. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten! |
<<: Gängige Angriffe auf Web-Frontends und Möglichkeiten, sie zu verhindern
>>: Detaillierte Erklärung der JS-Ereignisdelegation
Beim Installieren der Datenbank ist folgender Feh...
In letzter Zeit haben mich viele Studenten zur Ko...
Vorwort Linux verfügt nicht über einen prominente...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Szenario Code-Implementierung ...
Implementieren Sie das Vergrößern und Verkleinern...
Inhaltsverzeichnis 1. Übersicht 2. Routing Naviga...
Ich habe vorher einen Tag damit verbracht. Obwohl...
Inhaltsverzeichnis Warum day.js verwenden? Moment...
1. Grundlegende Verwendung von Firewalld Start-up...
Inhaltsverzeichnis 1.MySQL addiert oder subtrahie...
1. Laut dem Online-Tutorial schlägt die Installat...
Neun einfache Beispiele analysieren die Verwendun...
<br />In der Vergangenheit musste zum Erstel...