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

CocosCreator - modulares Lernskript

Modulares Cocos Creator-Skript Mit Cocos Creator ...

So installieren Sie MySQL unter Linux (Yum und Quellcode-Kompilierung)

Es gibt zwei Möglichkeiten, MySQL unter Linux zu ...

Natives JS zum Erzielen von Verzeichnis-Scrolleffekten

Hier ist ein Text-Scrolling-Effekt, der mit nativ...

Alibaba Cloud Server Ubuntu Konfigurations-Tutorial

Da für den Import benutzerdefinierter Ubuntu-Imag...

MySQL-Integritätsbeschränkungen – Definition und Beispiel-Tutorial

Inhaltsverzeichnis Integritätsbeschränkungen Defi...

Vue+thinkphp5.1+axios zum Realisieren des Datei-Uploads

In diesem Artikel erfahren Sie, wie Sie mit think...

So verwenden Sie JSONP in Vue

Inhaltsverzeichnis 1. Einleitung 2. Installation ...

Warum kann das in HTML eingebettete Video im MP4-Format nicht abgespielt werden?

Der folgende Code befindet sich in meiner test.htm...

Lassen Sie uns ausführlich über die gemeinsame MySQL-Abfrage sprechen

Inhaltsverzeichnis Union-Abfrage 1. Fragen Sie di...

So setzen Sie das MySQL-Root-Passwort unter Windows zurück

Heute habe ich festgestellt, dass WordPress keine...

Schritte zur Installation von GRUB auf einem Linux-Server

So installieren Sie GRUB für Linux Server Sie kön...

Einstellungen für den Ubuntu-Boot-Autostart-Dienst

So erstellen Sie einen Dienst und starten ihn aut...