HTML+CSS+JavaScript realisiert die Anzeige des ausgewählten Effekts nach der Mausbewegung

HTML+CSS+JavaScript realisiert die Anzeige des ausgewählten Effekts nach der Mausbewegung

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

Artikel empfehlen

UTF-8- und GB2312-Webkodierung

In letzter Zeit haben mich viele Studenten zur Ko...

Implementierung der Benutzerregistrierungsfunktion mit js

In diesem Artikelbeispiel wird der spezifische Co...

Vue implementiert ein einfaches Einkaufswagenbeispiel

In diesem Artikelbeispiel wird der spezifische Co...

Vue implementiert Div-Rad zum Vergrößern und Verkleinern

Implementieren Sie das Vergrößern und Verkleinern...

Vue-Routing zum Implementieren der Login-Abfangung

Inhaltsverzeichnis 1. Übersicht 2. Routing Naviga...

Tutorial zur Installation und Nutzungskonfiguration von Docker+nacos+seata1.3.0

Ich habe vorher einen Tag damit verbracht. Obwohl...

Elegantere Verarbeitung von Datumsangaben in JavaScript basierend auf Day.js

Inhaltsverzeichnis Warum day.js verwenden? Moment...

MySQL-Beispielcode für die Addition und Subtraktion von Datum und Uhrzeit

Inhaltsverzeichnis 1.MySQL addiert oder subtrahie...

Beheben Sie den Fehler bei der Installation von VMware Tools unter Ubuntu 18.04

1. Laut dem Online-Tutorial schlägt die Installat...

So verwenden Sie ein HTML-Formular mit mehreren Beispielen

Neun einfache Beispiele analysieren die Verwendun...

Konvertieren von XHTML-CSS-Seiten in Druckerseiten

<br />In der Vergangenheit musste zum Erstel...