JavaScript zum Erzielen eines Produktlupeneffekts

JavaScript zum Erzielen eines Produktlupeneffekts

In diesem Artikel wird der spezifische JavaScript-Code zur Implementierung einer Produktlupe zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

HTML+CSS-Teil:

<Stil>
        .klein{
            Position: relativ;
            Breite: 400px;
            Höhe: 450px;
            Rand: 1px durchgezogen #ccc;
        }
        .kleines Bild{
            Breite: 100 %;
            Höhe: 100%;
        }
        .klein .maske{
            Position: absolut;
            links: 0;
            oben: 0;
            Breite: 300px;
            Höhe: 300px;
            Hintergrundfarbe: rgba(0, 255, 0, .2);
        }
        .groß{
            Position: absolut;
            links: 450px;
            oben: 8px;
            Breite: 550px;
            Höhe: 550px;
            Rand: 1px durchgezogen #ccc;
            Überlauf: versteckt;
            Anzeige: keine;
        }
        .bigimg{
            Position: absolut;
            links: 0;
            oben: 0;
        }
    </Stil>
 
<Text>
    <div Klasse="klein">
        <img src="./img/small.jpg">
        <div Klasse="Maske"></div>
    </div>
    <div Klasse="groß">
        <img src="./img/big.jpg">
    </div>
</body>

JS-Teil:

<Skript>
        var small = document.querySelector('.small');
        var mask = document.querySelector('.mask');
        var big = document.querySelector('.big');
        var bigImg=document.querySelector('.big>img');
        // Breite und Höhe des großen Bildes abrufen var bigWidth=bigImg.offsetWidth;
        var bigHeight=bigImg.offsetHeight;
 
        // 
        Funktion verschieben(e){
            var x = e.pageX - this.offsetLeft;
            var y = e.pageY - this.offsetTop;
            konsole.log(x,y);
            // Verschieben Sie die Maskenposition var maskHeight = mask.offsetHeight/2;
            var Maskenbreite = Maskenoffsetbreite/2;
            mask.style.left = x - Maskenbreite+'px';
            mask.style.top = y - Maskenhöhe + 'px';
 
        // Bewegungsbereich der Maske begrenzen // console.log('mask.offsetTop',mask.offsetTop);
            // console.log('mask.offsetLeft',mask.offsetLeft);
            var maxLeft=small.offsetWidth - mask.offsetWidth;
            wenn(Maske.OffsetTop<0){
                Maske.Stil.oben=0;
            }
            wenn(Maske.OffsetLinks > kleine.OffsetBreite - Maske.OffsetBreite){
                Maske.Stil.links =maxLinks+'px';
            }
            wenn(Maske.OffsetLeft<0){
                Maske.Stil.links = 0;
            }
            wenn(Maske.OffsetOben > kleine.OffsetHöhe - Maske.OffsetHöhe){
                mask.style.top = kleine.OffsetHeight - mask.OffsetHeight + 'px';
            }
 
        // bigImg großes Bild große Box großes Bild Bewegung // (bigImg.offsetWidth - big.offsetWidth) / (samll.offsetWidtth - mask.offsetWidth)
        // Maximale Bewegungsdistanz des großen Bildes = - Bewegungsdistanz der Maske * Maximale Distanz des großen Bildes / Maximale Bewegungsdistanz der Maske bigImg.style.left = -mask.offsetLeft*(bigImg.offsetWidth - big.offsetWidth) / (small.offsetWidth - mask.offsetWidth)+"px";
            großesBild.style.top = -mask.offsetTop*(großesBild.offsetHeight - große.offsetHeight) / (kleine.offsetHeight - mask.offsetHeight)+"px";
        }
       
        // Verschieben Sie die Maske auf dem kleinen Bildsmall.addEventListener('mousemove',move);
        small.addEventListener('mouseover',Funktion(){
            großer.Stil.Anzeige='Block';
            Maske.Stil.Anzeige='Block';
        })
        small.addEventListener('mouseout',Funktion(){
            groß.style.display='keine';
            Maske.Stil.Anzeige='keine';
        })
</Skript>

Wirkungsdemonstration:

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 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
  • Häufig verwendete JS-Lupeneffekte auf E-Commerce-Websites
  • JavaScript-Bildschneideeffekt (Lupe)
  • Bildlupe jquery.jqzoom.js Anwendungsbeispiel mit Lupensymbol
  • Detaillierte Erläuterung der Implementierungsmethode des js-Bildlupeneffekts

<<:  Löschen von zwei Bildern mit derselben ID im Docker

>>:  XHTML-Tags, die durch den Ort der Verwendung leicht verwechselt werden können

Artikel empfehlen

Methoden und Schritte für den Zugriff auf die Baidu Maps API mit JavaScript

Inhaltsverzeichnis 1. Baidu Map API-Zugriff 2. Ve...

Eine kurze Erklärung zum sinnvollen Einsatz von Tabellen und Divs im Seitendesign

Zu Beginn dieses Artikels möchte ich die Fehler in...

Nginx-Signalsteuerung

Einführung in Nginx Nginx ist ein leistungsstarke...

...

Detaillierte Erklärung des Cocoscreater-Prefabs

Inhaltsverzeichnis Fertighaus So erstellen Sie ei...

Tiefgreifendes Verständnis der Verwendung von CSS clear:both

clear:both wird zum清除浮動Das ist der Eindruck, den ...

Was Sie über Responsive Design wissen müssen

Responsive Design bedeutet, während des Website-E...

Freigabe der schnellen Wiederherstellungslösung für große MySQL-SQL-Dateien

Vorwort Bei der Verwendung einer MySQL-Datenbank ...

Docker legt Port 2375 frei, was zu Serverangriffen und -lösungen führt

Ich glaube, dass Studenten, die etwas über die Do...

Detaillierte Erklärung zum Abrufen der IP-Adresse eines Docker-Containers

1. Nach dem Betreten des Containers Katze /etc/ho...