在网页上我们经常看到鼠标悬停在一个图片上,这张图片会慢慢的放大,感觉是像放大镜放大的效果,当鼠标移开的时候,图片有恢复原来的样子,今天就实现这种效果。
实现原理以思路:
1,首先这是一张图片在悬停时放大也就是改变大小(宽,高)实现的。
2,一张图片在放大的时候会根据其定位(如在div里面的图片会以div的左上角为基准扩大宽和高)来放大的,因此如果我们不去为图片添加相对定位并且不去调节扩大后的位置,他的放大会是向一边的,因此我们必须考虑其放大后的位置。
3,放大的效果是要用动画实现的。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>尝试</title>
<style>
.a1{width:137px;height:138px;border:1px solid red;overflow:hidden;position:relative;}
.pic{position:absolute;}
</style>
<script type="text/javascript" language="javascript" src="http://www.lanrenzhijia.com/ajaxjs/jquery.min.js" ></script>
</head>
<body>
<div class="a1"><img src="file:///C|/Users/Administrator/Desktop/js实战/1323.png.png" class="pic" /></div>
<script>
$(function(){
$w = $('.pic').width();
$h = $('.pic').height();
$w2 = $w + 20;
$h3 = $h + 20;
$('.pic').hover(function(){
$(this).stop().animate({height:$h3,width:$w2,left:"-10px",top:"-10px"},500);
},function(){
$(this).stop().animate({height:$h,width:$w,left:"0px",top:"0px"},500);
});
});
</script>
</body>
</html>