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

Detaillierte Erklärung der Concat-bezogenen Funktionen in MySQL

1. concat()-Funktion Funktion: Mehrere Zeichenfol...

Eine kurze Analyse der Verwendung der Zero-Copy-Technologie in Linux

In diesem Artikel werden mehrere wichtige Zero-Co...

Linux verwendet if, um zu bestimmen, ob ein Verzeichnis existiert.

So verwenden Sie „if“ in Linux, um festzustellen,...

Zusammenfassung der Standardverwendung von HTML-, CSS- und JS-Kommentaren

Das Hinzufügen der erforderlichen Kommentare ist ...

15 JavaScript-Funktionen, die es wert sind, gesammelt zu werden

Inhaltsverzeichnis 1. Zahlen umkehren 2. Holen Si...

Detaillierte Erläuterung der MySQL sql_mode-Abfrage und -Einstellung

1. Führen Sie SQL aus, um anzuzeigen wählen Sie @...

Navicat: Mehrere Möglichkeiten zum Ändern des MySQL-Datenbankkennworts

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

MySQL-Einstellungscode für die grüne Version und Details zum Fehler 1067

MySQL-Einstellungscode für grüne Version und Fehl...

Vue3 Vue-Ereignisbehandlungshandbuch

Inhaltsverzeichnis 1. Grundlegende Ereignisbehand...

Versteckter Overhead von Unix/Linux-Forks

Inhaltsverzeichnis 1. Der Ursprung der Gabel 2. F...

Detaillierte Untersuchung von vue2.x - Erklärung der h-Funktion

Inhaltsverzeichnis Lösung, Zusammenfassen: Vue-Pr...