在网页上我们经常看到鼠标悬停在一个图片上,这张图片会慢慢的放大,感觉是像放大镜放大的效果,当鼠标移开的时候,图片有恢复原来的样子,今天就实现这种效果。

实现原理以思路:

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;
    $h2 = $h + 20;

    $('.pic').hover(function(){
         $(this).stop().animate({height:$h2,width:$w2,left:"-10px",top:"-10px"},500);
    },function(){
         $(this).stop().animate({height:$h,width:$w,left:"0px",top:"0px"},500);
    });
});
</script>
</body>
</html>