In diesem Artikelbeispiel wird der spezifische Code von js zur Erzielung des Lupeneffekts als Referenz geteilt. Der spezifische Inhalt ist wie folgt Stilanzeige:IdeenBereiten Sie zunächst zwei Bilder vor, ein kleines Bild und ein großes Bild. Die beiden Bilder haben ein ganzzahliges Verhältnis Stellen Sie über dem kleinen Bild einen Lupenstil ein und stellen Sie den Hintergrund auf eine transparente Farbe ein Platzieren Sie ein übergeordnetes Element außerhalb des großen Bilds und verbergen Sie es, wenn es das übergeordnete Element überschreitet. Die Größe sollte gerade ausreichen, um den vergrößerten Teil aufzunehmen. Das Verhältnis des übergeordneten Elements zum Lupenstil entspricht dem Verhältnis des großen Bilds zum kleinen Bild. Wenn die Maus über das kleine Bild bewegt wird, werden die Koordinaten der Maus abgerufen, die Koordinaten der Maus auf dem kleinen Bild abgerufen, die Koordinaten des großen Bildes entsprechend dem entsprechenden Verhältnis berechnet und das große Bild so verschoben, dass der vergrößerte Teil innerhalb des sichtbaren Bereichs des übergeordneten Elements liegt. Code1.html Teil <div id="box"> <!-- toBig ist ein Lupenelement --> <div id="zuGroß"></div> <!-- Kleines Bild --> <img src="img/05.jpg" id="smallImg" width="800px"> </div> <div id="beBig"> <!-- Großes Bild, Verhältnis 1,5 --> <img src="img/05.jpg" id="bigImg" width="1200px"> </div> 2. CSS-Stilteil *{ Rand: 0px; Polsterung: 0px; } #Kasten{ Position: relativ; schweben: links; } #zuGroß{ Breite: 80px; Höhe: 80px; Rand: 1px durchgehend grau; Hintergrundfarbe: transparent; Position: absolut; } #seiGroß{ schweben: links; Überlauf: versteckt; Rand: 1px durchgehend grau; Position: relativ; links: 40px; oben: 325px; } #großesBild{ Position: absolut; } 3. Skriptteil <Skripttyp="text/javascript"> //Holen Sie sich das kleine Bild, das große Bild, das Lupenelement und das übergeordnete Element des großen Bildes var smallImg = document.querySelector ("#smallImg"); var bigImg = document.querySelector("#bigImg"); var toBig=document.querySelector("#toBig"); var beBig=document.querySelector("#beBig"); /*Berechnen Sie das Verhältnis von kleinen Bildern zu großen Bildern beim Laden der Seite*/ var q=0; fenster.onload = funktion(){ q=großesBild.Offsetbreite/kleinesBild.Offsetbreite; //Berechnen Sie die Größe des anzuzeigenden vergrößerten Inhalts basierend auf der Breite, Höhe und dem Verhältnis der Lupe beBig.style.width = toBig.clientWidth * q + "px"; beBig.style.height = toBig.clientHeight * q + "px"; } //Holen Sie sich die Mitte des Lupenelements und stellen Sie sicher, dass sich die Maus in der Mitte der Lupe befindet. var xCenter=toBig.clientWidth/2; var yCenter=toBig.clientHeight/2; //Flag ist ein Zeichen. Wenn die Maus gedrückt wird, ist es wahr, Sie können sich bewegen. Flag=false; toBig.onmousedown = Funktion(){ Flagge=wahr; } toBig.onmouseup = Funktion(){ Flagge=falsch; } Fenster.onmousemove=Funktion(ev){ var ev = ev || Fenster.Ereignis; //Wenn Flag wahr ist, wird das Lupenelement gedrückt und kann gezogen werden, wenn (Flag) { // Aktuelle Position der Maus abrufen und zusätzlich zum Element selbst die zu verschiebende Position berechnen var mouseX=ev.clientX,mouseY=ev.clientY; var trueX=mouseX-xCenter; //Beurteilen, ob das Lupenelement den kleinen Bildbereich überschreitet, if (trueX < smallImg.offsetLeft) { trueX = kleinesBild.offsetLeft; } wenn(trueX > smallImg.clientWidth - toBig.offsetWidth){ trueX = smallImg.ClientWidth - toBig.OffsetWidth; } var trueY=mouseY - yCenter; wenn(trueY <= smallImg.offsetTop){ trueY = kleinesBild.offsetTop; } if (trueY > smallImg.clientHeight - toBig.offsetHeight) { trueY = smallImg.clientHeight - toBig.offsetHeight; } //Kleines Bild wird nachBig.style.left = trueX + "px"; toBig.style.top = trueY + "px"; Konsole.log(trueX,trueY); // Die Position, wohin das große Bild verschoben werden soll bigImg.style.left =-(trueX * q) + "px"; bigImg.style.top = -(trueY * q) + "px"; } } </Skript> 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:
|
<<: Auszeichnungssprache – CSS-Stil für Webanwendungen
>>: Docker-Bereitstellung – Analyse des Implementierungsprozesses für RabbitMQ-Container
Inhaltsverzeichnis Hintergrund Serverabhängigkeit...
Der MySQL-Volltextindex ist ein spezieller Index,...
ant-design-vue passt die Verwendung von Ali Iconf...
1. Übersicht Redis Cluster ermöglicht hohe Verfüg...
Das mit dem offiziellen Docker-Register erstellte...
In diesem Artikelbeispiel wird der spezifische Co...
Wenn Sie Docker verwenden, suchen Sie in Docker n...
Der einfache Rechner des WeChat-Applets dient Ihn...
Das Betriebssystem Win10 MySQL ist die 64-Bit-ZIP...
Im Linux-System gibt es einen Dateityp namens Lin...
Inhaltsverzeichnis 1.Linux-Anmeldeschnittstelle 2...
1. Docker installieren yum installiere Docker #St...
1. Übersicht Ich habe viel online gesucht und fes...
Inhaltsverzeichnis 1. Einleitung Zweites Training...
<br />Im Allgemeinen ist die Dateiorganisati...