js-Simulation, um den Effekt der Bildvergrößerung auf der Jingdong-Detailseite zu erzielen

js-Simulation, um den Effekt der Bildvergrößerung auf der Jingdong-Detailseite zu erzielen

In diesem Artikel wird der spezifische Code von js zur Realisierung der Vergrößerung des Bildes auf der Jingdong-Detailseite zu Ihrer Information freigegeben. Der spezifische Inhalt ist wie folgt

Wirkung:

html:

<div Klasse="Vorschaubild">
 <img src="upload/s3.png" alt="">
 <div Klasse="Maske"></div>
 <div Klasse="groß">
  <img src="upload/big.jpg" alt="" class="bigImg">
 </div>
</div>

CSS:

.vorschau_img {
 Position: relativ;
 Höhe: 398px;
 Rand: 1px durchgezogen #ccc;
}
.Maske {
 Anzeige: keine;
 Position: absolut;
 Breite: 300px;
 Höhe: 300px;
 oben: 0;
 links: 0;
 Hintergrund: #FEFE4F;
 Deckkraft: .5;
 Rand: 1px durchgezogen #ccc;
 Cursor: bewegen;
}
.groß {
 Anzeige: keine;
 Position: absolut;
 Breite: 550px;
 Höhe: 550px;
 oben: 0;
 links: 410px;
 Z-Index: 999;
 Rand: 1px durchgezogen #ccc;
 Überlauf: versteckt;
}
.bigimg {
 Position: absolut;
 links: 0;
 oben: 0;
}

js (Hervorhebung):

window.addEventListener('laden',Funktion(){
    var preview_img = document.querySelector('.preview_img');
    var Maske = dieses.Dokument.AbfrageSelector('.Maske');
    var big = dieses.Dokument.QuerySelector('.big');
    var bigImg = dieses.document.querySelector('.bigImg');
    //Mit der Maus darüberfahren preview_img.addEventListener('mouseover',function(){
        Maske.Stil.Anzeige = "Block";
        großer.Stil.Anzeige = "Block";
    })
    //Maus raus preview_img.addEventListener('mouseout',function(){
        Maske.Stil.Anzeige = "keine";
        big.style.display = "keine";
    })
    //Wenn die Maus bewegt wird preview_img.addEventListener('mousemove',function(e){
        //Die Koordinaten der Maus in der Box var x = e.pageX - this.offsetLeft;
        var y = e.pageY - this.offsetTop;
        //Die Distanz, über die sich die Okklusionsebene bewegt, var maskX = x - mask.offsetWidth/2;
        var maskY = y-mask.offsetHeight/2;
        //Bewegungsdistanz für große Bilder //Maximale Bewegungsdistanz der Okklusionsebene var maskMaxX = preview_img.offsetWidth - mask.offsetWidth;
        var maskMaxY = preview_img.offsetHeight - mask.offsetHeight;
        //Wenn die X-Koordinate kleiner als 0 ist, lass sie auf 0 bleiben if (maskX <= 0) {
            MaskeX = 0;
        }sonst wenn (MaskeX >= MaskeMaxX) {
            MaskeX = MaskeMaxX;
        }
        //Wenn die Y-Koordinate kleiner als 0 ist, lass sie auf 0 bleiben if (maskY <= 0) {
            MaskeY = 0;
        }sonst wenn (MaskeY >= MaskeMaxY) {
            MaskeY = MaskeMaxY;
        }
        //Bewegung der Okklusionsebene mask.style.left = maskX + 'px';
        mask.style.top = maskY + 'px';
        
        //Die maximale Bewegungsdistanz des großen Bildes var bigMaxX = bigImg.offsetWidth - big.offsetWidth;
        var bigMaxY = bigImg.offsetHeight - big.offsetHeight;
        //Die Bewegungsdistanz des großen Bildes XY
        // Bewegungsdistanz des großen Bildes = Bewegungsdistanz der Okklusionsebene * Maximale Bewegungsdistanz des großen Bildes / Maximale Bewegungsdistanz der Okklusionsebene var bigX = maskX * bigMaxX / maskMaxX;
        var bigY = MaskeY * bigMaxY / MaskeMaxY;
        //Das große Bild und das kleine Bild (Mausbewegung) zeigen in entgegengesetzte Richtungen bigImg.style.left = -bigX + 'px';
        bigImg.style.top = -bigY + 'px';
    })
})

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:
  • Zwei einfache Möglichkeiten zum Vergrößern und Verkleinern von Bildern in JS
  • js lupe vergrößerungsbild effekt
  • js implementiert die Methode zum Klicken auf das Bild, um das Bild zu vergrößern
  • js realisiert den Effekt, wenn Sie auf das Bild klicken, um es in der Mitte des Bildschirms anzuzeigen und zu vergrößern
  • JS realisiert den Bildzoomeffekt, wenn die Maus zum Miniaturbild bewegt wird, um das große Bild anzuzeigen
  • js-Code für die Bildvergrößerung und den Schwebeeffekt, wenn die Maus nach oben gleitet
  • JavaScript-Code für den Bildlupeneffekt [der Code ist relativ einfach]
  • js, um einen Bildvergrößerungsanzeigeeffekt zu erzielen
  • Mobiles HTML5 verwendet photoswipe.js, um den Zoomeffekt von WeChat Moments-Bildern zu imitieren
  • JS-Webseiten-Bildbetrachter (kompatibel mit IE, FF) kann das Bild vergrößern, verkleinern und verschieben

<<:  So fragen Sie Daten aus mehreren unabhängigen Tabellen und Paging in MySQL ab

>>:  So bewerben Sie sich für Webdesign-Jobs

Artikel empfehlen

Vertieftes Verständnis davon in JavaScript

Vertieftes Verständnis davon in Js JavaScript Ber...

Detaillierte Erklärung der Anwendung von CSS Sprite

CSS Sprite, auch bekannt als CSS Sprite, ist eine...

MySQL-Kill-Befehl – ​​Verwendungshandbuch

KILL [VERBINDUNG | ABFRAGE] Prozesslisten-ID In M...

Docker-Image-Zugriff auf den lokalen Elasticsearch-Port-Vorgang

Wenn Sie den vom Docker-Stack bereitgestellten Im...

Detaillierte Erklärung der MySQL-Datengruppierung

Gruppe erstellen Die Gruppierung wird in der GROU...

So konfigurieren Sie Nginx, um die Zugriffshäufigkeit derselben IP zu begrenzen

1. Fügen Sie den folgenden Code zu http{} in ngin...

Lösung für das Problem, dass MySql immer das mySqlInstallerConsole-Fenster öffnet

MySql öffnet regelmäßig ein MySQLInstallerConsole...

Zusammenfassung der Wissenspunkte zum Abdecken von Indizes in MySQL

Wenn ein Index die Werte aller abzufragenden Feld...