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

So ändern Sie das Passwort in MySQL 5.7.18

So ändern Sie das Passwort in MySQL 5.7.18: 1. Fa...

Beispielschritte zur Verwendung von AntV X6 mit Vue.js

Inhaltsverzeichnis 0x0 Einführung 0x1 Installatio...

HTML als Startseite festlegen und zu Favoriten hinzufügen_Powernode Java Academy

So implementieren Sie die Funktionen „Als Startse...

Einführung in den Aufbau eines DNS-Servers unter centos7

Inhaltsverzeichnis 1. Projektumgebung: 2: DNS-Ser...

Beispiel zum Festlegen der pseudostatischen WordPress-Eigenschaft in Nginx

Zitat aus Baidus Erklärung zu Pseudostatik: Pseud...

Anwendung der MapState-Idee in Vuex

Inhaltsverzeichnis 1. Kartenmethode 2. Anwendung ...

So wählen und verwenden Sie PNG, JPG und GIF als Web-Bildformate

Welches dieser Formate (GIF, PNG oder JPG) sollte...

Installieren Sie .NET 6.0 im CentOS-System mithilfe eines Cloud-Servers

.NET SDK-Download-Link https://dotnet.microsoft.c...

So fügen Sie Docker ein Zertifikat hinzu

1. Upgrade-Vorgang: sudo apt-get update Probleme ...