【发布时间】:2016-02-22 00:25:17
【问题描述】:
我已经到处找了好几个星期了,但我根本找不到任何东西来告诉我我做错了什么或者如何继续。目标是为带有小图像的产品创建一个类似于亚马逊鼠标悬停放大的功能。
我目前不知道如何继续,但我知道我需要两张图片 - 一张“放大”尺寸,一张“缩小”尺寸。 我没有使用 Jquery- 我无法通过雇主的要求将它或任何插件安装到网站上。我基本上是在要求更难的答案,对此我提前道歉。我必须从头开始做这件事。 警告:我是一名编程学生。随你便。
我有 HTML 和 CSS 脚本,因为我们这里实际上没有 IDE,所以我在 codecademy 的项目部分执行此操作,否则我必须完全实时编程。你可以找到我的代码here,但我也会在下面发布代码,因为该链接使用程序保存,必然会更改代码。
注意:我最初拥有它是为了让灰色框跟随我的鼠标在相对中心。它在移动时闪烁,但它正在工作。目前虽然决定不这样做,至少在我的工作计算机上。我没有在我的个人电脑上测试过。
编辑:代码在我的 Surface Pro 3 上运行,尽管它确实跟随鼠标离开图像(这是暂时的,我抓到的东西是随机的)。我不确定为什么代码不能在我的工作计算机上运行,但很可能是因为它是 Macintosh OSX 版本 10.6.8...
HTML 代码:
<!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 代码:
#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 代码:
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 不需要安装,就像在 Web 服务器上上传或添加文件一样,或者如果您无法使用 jQuery CDN 或其网站
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js" type="text/javascript"></script>987654325@的 src 插入脚本标签 -
@CY5 抱歉,我认为 JQuery 需要一些安装,特别是如果你想使用 Bootstrap 之类的东西。在我上学编程的地方,我的大多数老师都警告我们不要依赖 JQuery,因为它更像是一个拐杖而不是一个万无一失的答案——并不是说 JQuery 是一件坏事,只是作为一名学生,我正在努力学习完整的知识方法。我想这主要是我不想使用它的原因,以便我可以学习如何手动操作。我实际上主要是一名视频游戏程序员,所以我通常整天都在做没有助手的难懂的代码
-
我同意你的看法,因为你正在学习你有权知道事情是如何从那里核心制造出来的,但在未来请记住,如果你可以轻松地在时间限制下工作,那么重新发明轮子是不好的一些工具,因为你不知道你的东西什么时候会坏
-
@CY5 哦,绝对,我不反对。他们也警告我们不要这样做。幸运的是,我的雇主也有兴趣看到它自己工作——这更像是一个入门级职位,而且对事情的完成方式非常松懈,所以我正在花时间来理顺工作。当然,以后等我充分了解后,我会使用更快的方法!速度始终是任何行业的关键
标签: javascript html css zooming mouseover