首页 > 建站教程 > JS、jQ、TS >  jQuery animate 图片从中间向四周缩放正文

jQuery animate 图片从中间向四周缩放

    我们在用jquery或者js在对图片进行缩放的时候,单纯改变宽高,图片是从左上角开始缩放,并不能从中心点开始缩放,如下图:
    


    而我们希望的效果是从中心点开始缩放,如:



    这主要是因为我们只是单纯的改变了宽高,而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>