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

MySql fügt Daten erfolgreich ein, meldet aber [Err] 1055 Fehlerlösung

1. Frage: Ich habe in diesen Tagen Einfügevorgäng...

js implementiert Tabellen-Drag-Optionen

In diesem Artikelbeispiel wird der spezifische JS...

Vue+js realisiert Video-Ein- und Ausblendeffekte

Vue+js realisiert das Ein- und Ausblenden des Vid...

Datenabfragevorgang im MySQL-JSON-Format

Der Standardtabellenname ist „base_data“ und der ...

CSS3 zum Erreichen eines Menü-Hover-Effekts

Ergebnis: html <nav id="nav-1"> &...

Vue implementiert die Funktionen Vergrößern, Verkleinern und Ziehen

In diesem Artikelbeispiel wird der spezifische Co...

So zeigen Sie Webseiten in verschiedenen Auflösungen und Browsern richtig an

Die Schlüsselcodes lauten wie folgt: Code kopieren...

TimePicker im Element deaktiviert einen Teil der Zeit (deaktiviert auf Minuten)

Die Projektanforderungen lauten: Datum und Uhrzei...