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

CentOS8 - bash: verstümmelte Zeichen und Lösungen

Diese Situation tritt normalerweise auf, weil das...

Informationen zu UDP in Linux

Inhaltsverzeichnis 1. Einführung in UDP und Linux...

Detailliertes Tutorial zur Verwendung von stimulsoft.reports.js mit vue-cli

vue-cli verwendet stimulsoft.reports.js (Tutorial...

Einführung in die Verwendung des Select-Optgroup-Tags in HTML

Gelegentlich muss ich ausgewählte Inhalte gruppier...

25 Vue-Tipps, die Sie kennen müssen

Inhaltsverzeichnis 1. Beschränken Sie Requisiten ...

Bearbeiten Sie zwei Datenspalten als neue Spalten in SQL

Wie unten dargestellt: wähle a1,a2,a1+a2 a,a1*a2 ...

Eine kurze Analyse, wie MySQL die Transaktionsisolierung implementiert

Inhaltsverzeichnis 1. Einleitung 2. RC- und RR-Is...

Navicat Premium betreibt MySQL-Datenbank (führt SQL-Anweisungen aus)

1. Einführung in Navicat 1. Was ist Navicat? Navi...