In diesem Artikelbeispiel wird der spezifische Code von Vue zur Erzielung eines einfachen Lupeneffekts als Referenz geteilt. Der spezifische Inhalt ist wie folgt <Vorlage> <div> <div Klasse="imgMerror"> <div class="smallDiv" @mousemove="bewegen($event)" @mouseenter="eingeben()" @mouseleave="verlassen()"> <img src="/image/2017/07/26/0d6069de4916471b92da66b0da8f0ec9.jpg" alt=""> <div Klasse="imgMask"></div> </div> <div Klasse="großesDiv"> <img src="/image/2017/07/26/0d6069de4916471b92da66b0da8f0ec9.jpg" alt="" class="bigImg"> </div> </div> </div> </Vorlage> <Skript> Standard exportieren { Daten() { zurückkehren { } }, Methoden: { eingeben(){ let imgMaskDom = document.querySelector('.imgMask'); let bigDivDom = document.querySelector('.bigDiv'); imgMaskDom.style.display = "Block"; bigDivDom.style.display = "Block"; }, verlassen(){ let imgMaskDom = document.querySelector('.imgMask'); let bigDivDom = document.querySelector('.bigDiv'); imgMaskDom.style.display = "keine"; bigDivDom.style.display = "keine"; }, bewegen(e){ let smallDivDom = document.querySelector('.smallDiv'); let imgMaskDom = document.querySelector('.imgMask'); let bigDivDom = document.querySelector('.bigDiv'); let bigImgkDom = document.querySelector('.bigImg'); sei ev = e || Fenster.Ereignis; let left = ev.clientX - smallDivDom.offsetLeft - imgMaskDom.offsetWidth/2; let top = ev.clientY - smallDivDom.offsetTop - imgMaskDom.offsetHeight/2; wenn (links < 0) links = 0; wenn (links > smallDivDom.offsetWidth - imgMaskDom.offsetWidth) { links = smallDivDom.offsetWidth - imgMaskDom.offsetWidth; } wenn (oben < 0) oben = 0; wenn(oben > smallDivDom.offsetHeight - imgMaskDom.offsetHeight){ oben = smallDivDom.offsetHeight - imgMaskDom.offsetHeight; } imgMaskDom.style.left = links + "px"; imgMaskDom.style.top = oben + 'px'; //Proportion verschieben let precentX = left / (smallDivDom.offsetWidth-imgMaskDom.offsetWidth); sei precentY = oben / (smallDivDom.offsetHeight - imgMaskDom.offsetHeight); bigImgkDom.style.left = precentX * (bigDivDom.offsetWidth - bigImgkDom.offsetWidth) + 'px'; bigImgkDom.style.top = precentY * (bigDivDom.offsetHeight - bigImgkDom.offsetHeight) + 'px'; } }, } </Skript> <style lang="scss"> *{ Rand: 0; Polsterung: 0; } .imgMerror{ Position: relativ; Polsterung: 50px; .smallDiv{ Rand: 1px durchgezogen #ccc; Breite: 360px; Höhe: 360px; Position: relativ; links: 0; oben: 0; img{ Breite: 100 %; Höhe: 100%; } .imgMask{ Breite: 240px; Höhe: 240px; Hintergrund: #00ff98; Deckkraft: 0,5; Cursor: bewegen; Position: absolut; links: 0; oben: 0; Anzeige: keine; } } .bigDiv{ Rand: 1px durchgezogen #ccc; Breite: 540px; Höhe: 540px; Position: relativ; links: 380px; oben: -360px; Überlauf: versteckt; Anzeige: keine; img{ Breite: 600px; Höhe: 600px; Position: absolut; links: 0; oben: 0; } } } </Stil> Effektbild: 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:
|
>>: Detaillierte Erläuterung von Beispielen zur Fehlerbehandlung in gespeicherten MySQL-Prozeduren
Dieser Artikel stellt vor, wie man das Ogg-Progra...
Inhaltsverzeichnis 1. Domänenübergreifender Filte...
1. Einleitung Mit Imagemaps können Sie Bereiche e...
Mithilfe der Vue-Sprache und Elementkomponenten m...
1. Welche Zeilenformate gibt es? Sie können Ihre ...
Problem beim Gucken Angenommen, der IIS-Dienst st...
Denn wenn am Ende des Unterordners kein Schrägstri...
1. addtime() Füge die angegebene Anzahl Sekunden ...
Es gibt drei Möglichkeiten, CSS einzuführen: Inli...
Hintergrund: Es gibt ein Flask-Projekt, das eine ...
Es wird empfohlen, zunächst mit dem Befehl sudo s...
Inhaltsverzeichnis Vorwort Informationen zu WebSo...
1 Methode ist eine Eigenschaft, die angibt, wie Da...
1. left(name,4) fängt die 4 Zeichen auf der linke...
Inhaltsverzeichnis Vorwort Einführung Live Einfac...