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:
|
<<: So fragen Sie Daten aus mehreren unabhängigen Tabellen und Paging in MySQL ab
>>: So bewerben Sie sich für Webdesign-Jobs
1. Docker-Netzwerkverwaltung 1. Docker-Container-...
Vorwort Wenn der Systemspeicherplatz zu groß ist ...
Inhaltsverzeichnis Vorwort 1. SCP-Nutzung 2. Verw...
Inhaltsverzeichnis Vorwort brauchen erreichen Ers...
Vorwort Der Grund, warum die InnoDB-Engine von My...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Überblick Die Geschichte der C...
1. Zweck: Machen Sie den Code leichter wartbar un...
In diesem Artikel wird die Verwendung von „Explai...
Ich habe kürzlich an einem Projekt zur Gesichtser...
Inhaltsverzeichnis Was ist JSON Warum diese Techn...
Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...
Eine beträchtliche Anzahl von Websites verwendet d...
Aus beruflichen Gründen habe ich vor Kurzem einig...
Wir verwenden den Parameter „translate“, um Beweg...