【发布时间】:2011-06-23 20:26:24
【问题描述】:
我想在网站上放一张照片,当我将鼠标悬停时,我想要一点放大镜的缩放效果。
我可以用画布或其他东西在 html 中执行此操作吗?也许是javascript?
谢谢
【问题讨论】:
标签: javascript html zooming mouseover
我想在网站上放一张照片,当我将鼠标悬停时,我想要一点放大镜的缩放效果。
我可以用画布或其他东西在 html 中执行此操作吗?也许是javascript?
谢谢
【问题讨论】:
标签: javascript html zooming mouseover
将您的照片包含在一个 div 中,并在悬停时通过 CSS 添加Zoom。您可能希望在悬停时增加 z-index。您可以添加到下面的 CSS 以使缩放的照片看起来/样式更好。如果您不想重新发明轮子,请注意一些 Jquery 插件,它可以以更优雅的方式完成同样的事情,而且工作量更少。
CSS:
#div-1 {
position: absolute;
}
#div-1.hover {
position: absolute; zoom: 70%; border: solid 1px; z-index:10;
}
jQuery/Javascript:
<script type = "text/javascript">
$(document).ready(function() {
$(".div-1").onmouseover(function() {
toggle_visibility('div-1');
})
function toggle_visibility(id) {
var e = document.getElementById(id);
if ($(e).hasClass("hover")) {
$(e).removeClass("hover");
} else {
$($(e)).addClass("hover");
$($(e)).attr({
width: "100%",
height: "100%"
});
}
}}); < /script>
【讨论】:
没有第三方插件的 IE 不支持 Canvas。您需要在 JavaScript 中执行此操作。 jQuery 使这变得非常简单和干净。使用.hover() 为要缩放的图像元素绑定悬停/悬停事件处理程序。 “绑定处理程序”只是意味着您将两个函数传递给 .hover() ,它们将分别在用户悬停和悬停时执行。这些函数将使用animate(),您可以简单地传递一个新的大小。
查看.animate() 和.hover() 的文档。如果你是 jQuery 的新手,check out the tutorials.
【讨论】:
您可以将 div 中的图像显示为背景图像,并使用一点 javascript 更改位置。
这是一个包含一些示例的库:http://www.mind-projects.it/projects/jqzoom/demos.php
【讨论】:
我想我找到了你想要的东西:loupe.js。据我所见,这是最好看的放大镜/放大镜效果之一。
【讨论】:
我找到了一些相关的例子,所以访问这些:
【讨论】: