Ich habe seit Wochen überall nach diesem gesucht, und ich kann einfach nichts finden, um mir zu sagen, was ich falsch mache oder wie man sogar vorgeht. Ziel ist es, eine ähnliche Funktion wie Amazon beim Mouseover für Produkte mit kleinen Bildern zu erstellen.Javascript: Zoomen Sie auf mouseover WITHOUT Jquery oder plugins
Ich weiß derzeit nicht, wie ich vorgehen soll, obwohl mir bewusst ist, dass ich zwei Bilder benötige - eins in der Größe "gezoomt" und eins in der Größe "herausgezoomt". Ich benutze keine Jquery - Ich kann es nicht installieren oder irgendwelche Plugins auf der Website über die Anfrage meines Arbeitgebers. Ich bitte im Grunde um die härtere Antwort, und ich entschuldige mich dafür im Voraus. Ich muss das von mäßigem Kratzer machen. Warnung: Ich bin ein Programmierstudent. Nimm das wie du willst.
Ich habe HTML und CSS-Skript, und weil wir eigentlich keine IDE haben ich hier dieses Projekt Abschnitt auf Codecademy tut, sonst würde ich diese völlig Live programmieren müssen. Sie können meinen Code here finden, aber ich werde auch den Code unten veröffentlichen, da dieser Link Code ändern muss, da er prozedurales Speichern verwendet.
Hinweis: Ich hatte es ursprünglich so, dass die graue Box meiner Maus in relativer Mitte folgte. Es flackerte, als es sich bewegte, aber es funktionierte. Momentan ist es jedoch beschlossen, zumindest auf meinem Arbeitscomputer nicht. Ich habe es nicht auf meinem PC getestet.
Edit: Der Code funktioniert auf meinem Surface Pro 3, obwohl es folgt die Maus aus dem Bild (das ist vorübergehend und etwas zufälliges ich packte). Ich bin mir nicht sicher, warum der Code nicht auf meinem Computer funktioniert, obwohl es wahrscheinlich ist, weil es eine Macintosh OSX Version 10.6.8 ist ...
HTML-Code:
<!DOCTYPE html>
<html>
<head>
<link rel='stylesheet' href='style.css'/>
<script src='script.js'></script>
</head>
<body>
<img id="imgZoom" onmousemove="zoomIn()" onmouseout="zoomOut()" src="http://ginger-mum.com/wp-content/uploads/2015/10/3633-1269758855-0da5042c33400a811a5d766be4579cb8.jpg">
<div id="overlay" onmousemove="zoomIn()"></div>
</body>
</html>
CSS Code:
#imgZoom {
height: 300;
}
#overlay {
visibility: hidden;
position: absolute;
left: 0px;
top: 0px;
width:20%;
height:20%;
padding: 25px;
border: 5px solid gray;
background-color: white;
opacity:0.4;
text-align:center;
z-index: 1000;
}
Javascript-Code:
function zoomIn()
{
var element = document.getElementById("overlay");
element.style.visibility = "visible";
var x = event.clientX; // Get the horizontal coordinate
var y = event.clientY; // Get the vertical coordinate
element.style.top = y - 80;
element.style.left = x - 80;
}
function zoomOut()
{
var element = document.getElementById("overlay");
element.style.visibility = "hidden";
}
jQuery erfordern die Installation nicht seine wie Hochladen oder Hinzufügen Dateien auf dem Webserver oder wenn Sie das nicht können, fügen Sie ein Skript-Tag mit src von jQuery CDN oder seiner Website '' – CY5
@ CY5 Tut mir leid, ich figu Red JQuery benötigt einige Installation, besonders wenn Sie Dinge wie Bootstrap verwenden möchten.Wo ich zur Schule gehe, haben mich die meisten meiner Ausbilder davor gewarnt, sich auf JQuery zu verlassen, da es eher eine Krücke als eine sichere Antwort ist - nicht, dass JQuery eine schlechte Sache ist, sondern nur ein Student, den ich versuche zu lernen Methode. Ich nehme an, das ist hauptsächlich der Grund, warum ich es nicht benutzen möchte, damit ich lernen kann, wie man es manuell macht. Ich bin eigentlich hauptsächlich ein Programmierer für Videospiele, so lächerlich schwieriger Code, der keine Helfer hat ist normalerweise das, was ich den ganzen Tag mache – Kitfoxpup
Ich stimme dir zu, da du lernst, du hast Recht zu wissen, wie die Dinge von dort aus gemacht werden, aber in Zukunft Denken Sie daran, das Rad neu zu erfinden ist schlecht, wo Sie in Zeitbeschränkung arbeiten, wenn Sie es leicht mit einem Werkzeug tun können, becoz Sie wissen nicht, wann Ihre Sachen brechen werden – CY5