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

Eine Frage zur Einstellung des Randradius-Werts

Problemdatensatz Heute wollte ich ein kleines Bau...

Praktische Optimierung des MySQL-Paging-Limits

Vorwort Wenn wir Abfrageanweisungen verwenden, mü...

vue-pdf realisiert Online-Dateivorschau

In diesem Artikelbeispiel wird der spezifische Co...

Beispiel zum Erstellen und Ausführen mehrerer MySQL-Container in Docker

1. Verwenden Sie das Image mysql/mysql-server:lat...

Vue Grundlagen Listener Detaillierte Erklärung

Inhaltsverzeichnis Was ist ein Listener in Vue? V...

Gemeinsame Nutzung verschiedener Methoden zum Deaktivieren des Seitencaches

Heute bin ich beim Entwickeln auf eine Methode ge...

Zusammenfassung gängiger Begriffe in CSS (Cascading Style Sheet)

Wenn Sie CSS verwenden, vergessen Sie nicht, DOCTY...

JS erzielt Fünf-Sterne-Lobeffekt

Verwenden Sie JS, um objektorientierte Methoden z...

WeChat-Miniprogramm zur Implementierung elektronischer Signaturen

In diesem Artikel finden Sie den spezifischen Cod...

Aufzeichnungen zur Verwendung von SSH-Befehlen unter Windows 8

1. Öffnen Sie die virtuelle Maschine und das Git-...