而我们希望的效果是从中心点开始缩放,如:
这主要是因为我们只是单纯的改变了宽高,而js又不像css3那样,可以通过transform-origin修改变换的中心点,但是我们可以在改变图片尺寸的同时,更改图片的 left和top值,前提是图片定位了,代码如下:
<style type="text/css"> #div1{ width:600px; height:400px; margin:50px auto; position:relative; text-align: center; padding-left:50px;} #div1 img{ position:absolute; left:0; top:0; margin: 0 auto;} </style> <div id="div1"> <img src="images/1.jpg" width="100px" height="80px"> </div> <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> <script type="text/javascript"> $(function(){ $('#div1 img').mouseenter(function(){ var wValue=1.5 * $(this).width(); var hValue=1.5 * $(this).height(); $(this).animate({width: wValue, height: hValue, left:("-"+(0.5 * $(this).width())/2), top:("-"+(0.5 * $(this).height())/2)}, 1000); }).mouseleave(function(){ $(this).animate({width: "100", height: "80", left:"0px", top:"0px"}, 1000 ); }); }); </script>