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

Beispielcode zur Implementierung des Dunkelmodus mit CSS-Variablen

Vor kurzem wurde WeChat von Apple gezwungen, eine...

Problem mit der Parameterübergabe beim Sprung auf HTML-Seite

Die Wirkung ist wie folgt: eine Seite Nach dem Kl...

Detaillierter Prozess zum Zeichnen dreidimensionaler Pfeillinien mit three.js

Nachfrage: Diese Nachfrage ist ein dringender Bed...

MySQL-Batch löschen großer Datenmengen

MySQL-Batch löschen großer Datenmengen Angenommen...

Grundlegender Installationsprozess von mysql5.7.19 unter winx64 (Details)

1. Herunterladen https://dev.mysql.com/downloads/...

HTML-Hyperlink ein Tag_Powernode Java Academy

Jeder, der HTML studiert oder verwendet hat, soll...

HTML als Startseite festlegen und zu Favoriten hinzufügen_Powernode Java Academy

So implementieren Sie die Funktionen „Als Startse...

Implementierung der One-Click-TLS-Verschlüsselung für die Docker-Remote-API

Inhaltsverzeichnis 1. Ändern Sie den Port 2375 vo...

Verwendung und Analyse des Mysql Explain-Befehls

Mit dem Befehl „mysql explain“ wird gezeigt, wie ...

So ändern Sie den Punkt im WeChat-Applet Swiper-Dot in einen Slider

Inhaltsverzeichnis Hintergrund Zieleffekt Ideen e...