js realisiert die Lupenfunktion der Shopping-Website

js realisiert die Lupenfunktion der Shopping-Website

In diesem Artikel wird der spezifische Code von js zur Realisierung der Lupenfunktion der Shopping-Website zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Schauen Sie sich zunächst das Wirkungsdiagramm an:

Zuerst kommt das Layout, ein kleiner Rahmen auf der linken Seite, darunter ein Rahmen für die Mausbewegung, und ein Vergrößerungsrahmen auf der rechten Seite.

<div Klasse="Box">
        <div Klasse="klein">
            <img src="small3.jpg" alt="">
            <div Klasse="Verschieben"></div>
        </div>
        <div Klasse="groß">
            <img src="big3.jpg" alt="">
        </div>
</div>

Schreiben Sie etwas CSS

.klein{
    Position: relativ;
    schweben: links;
    Breite: 450px;
    Höhe: 450px;
    Rand: 1px durchgezogen #000;
}
.klein .bewegen{
    Position: absolut;
    oben: 0;
    Breite: 300px;
    Höhe: 300px;
    Hintergrundfarbe: rgba(0,0,0,0,4);
    Cursor: bewegen;
    Anzeige: keine;
}
.groß{
    Position: relativ;
    schweben: links;
    Breite: 540px;
    Höhe: 540px;
    Rand links: 20px;
    Überlauf: versteckt;
    Rand: 1px durchgezogen #000;
    Anzeige: keine;
}
.bigimg{
    Position: absolut;
    oben: 0;
    links: 0;
}

js-Teil:

var box=document.getElementsByClassName('box')[0],small=box.getElementsByClassName('small')[0],move=small.getElementsByClassName('move')[0],smallImg=small.getElementsByTagName('img')[0],big=box.getElementsByClassName('big')[0],bigImg=big.getElementsByTagName('img')[0];
    //Holen Sie sich zuerst alle benötigten Elemente small.onmouseover=function(){
        verschieben.Stil.Anzeige='Block';
        großer.Stil.Anzeige="Block";
    };
    klein.onmouseout=Funktion(){
        verschieben.Stil.Anzeige='keine';
        groß.style.display="keine";
    };
    klein.onmousemove=Funktion(e){
        e=e||window.event; //Überlegungen zur Kompatibilität var x=e.clientX-smallImg.getBoundingClientRect().left-move.offsetWidth/2;
        var y=e.clientY-smallImg.getBoundingClientRect().top-move.offsetHeight/2;
        wenn(x<0){
            x=0;
        }
        wenn(x>smallImg.offsetWidth-move.offsetWidth){
            x=smallImg.offsetWidth-move.offsetWidth;
        }
        wenn(y<0){
            y=0;
        }
        wenn(y>smallImg.offsetHeight-move.offsetHeight){
            y=smallImg.OffsetHeight-move.OffsetHeight;
        }
        Verschiebestil.links=x+"px";
        verschieben.Stil.oben=y+"px";
        //Code zum Implementieren des Linksbewegungsblocks nach der Mausbewegung var scale = bigImg.offsetWidth/smallImg.offsetWidth;
        //Entsprechend den Proportionen vergrößern bigImg.style.left='-'+x*scale+'px';
        //Da das Bild nach links und oben verschoben werden muss, muss ein negatives Vorzeichen hinzugefügt werden bigImg.style.top='-'+y*scale+'px';
    }

Der Lupeneffekt wird erreicht!

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:
  • JS-Version des Bildlupeneffekts
  • js, um einen einfachen Lupeneffekt zu erzielen
  • js, um einfache Lupeneffekte zu erzielen
  • js lupe vergrößerungsbild effekt
  • Ein einfaches Beispiel für die Verwendung von js, um den Effekt einer Lupe zu erzielen
  • JavaScript-Code für den Bildlupeneffekt [der Code ist relativ einfach]
  • Eine magische Javascript-Bildlupe
  • JavaScript-Bildlupe (Drag & Drop, Zoom-Effekt)
  • Lupeneffekt in nativem JS geschrieben
  • JavaScript zum Erzielen eines einfachen Lupeneffekts

<<:  Analyse von Beispielen für gemeinsame Abfragevorgänge bei MySQL für mehrere Tabellen

>>:  So konfigurieren Sie Hexo und GitHub zum Binden eines benutzerdefinierten Domänennamens unter Windows 10

Artikel empfehlen

Detaillierte Erklärung des JQuery-Selektors

Inhaltsverzeichnis Grundlegende Selektoren: Ebene...

Wann verwendet man Tabellen und wann CSS (Erfahrungsaustausch)

Die Haupttextseite von TW hatte früher eine Breite...

Beheben von Problemen beim Importieren und Exportieren von Mysql

Hintergrund Da ich alle meine Aufgaben auf Docker...

Ungültige Lösung beim Definieren mehrerer Klassenattribute in HTML

Beim Schreiben von HTML definieren wir häufig mehr...

Eine einfache Möglichkeit, Desktop-Exe-Programme auf einer Webseite aufzurufen

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

Das Laufschriftelement implementiert Effekte wie scrollende Schriften und Bilder

Mit dem Laufschriftelement können Sie einfache Gle...

Lösung für das Root-Passwort-Anmeldeproblem in MySQL 5.7

Nachdem ich herausgefunden hatte, dass der vorher...

Implementierung der VUE-Anzeige unendlicher Ebenenbaum-Datenstrukturen

Inhaltsverzeichnis Rekursiver Aufruf der Komponen...

CentOS-System-RPM-Installation und -Konfiguration von Nginx

Inhaltsverzeichnis CentOS RPM-Installation und Ko...

Eine kurze Diskussion über mehrere aufgetretene Browserkompatibilitätsprobleme

Hintergrund Das Lösen von Browserkompatibilitätsp...

Detaillierte Verwendung des Kubernetes-Objektvolumens

Überblick Volume ist die Abstraktion und Virtuali...