美文网首页
jquery图片放大插件鼠标悬停图片放大效果

jquery图片放大插件鼠标悬停图片放大效果

作者: 三人行慕课 | 来源:发表于2019-10-07 21:48 被阅读0次

    都知道jquery都插件是非常强大的,最近分享点jquery插件效果,方便效果开发使用。

    一、HTML代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>jquery图片放大插件鼠标滑过图片放大效果</title>
    
    <meta name="description" content="jquery图片放大插件制作一个当鼠标滑过图片,图片按等比例缩放放大效果。动画图片放大展示特效。jQuery插件。" />
    
    </head>
    
    <body>
    
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    
    <script type="text/javascript" src="js/jquery.zoomImgRollover.js"></script>
    
    <script type="text/javascript">
    
    $(document).ready(function() {
    
        $("#testimg").zoomImgRollover();
    
    });
    
    </script>
    
    <style type="text/css">
    
    *{margin:0;padding:0;list-style-type:none;}
    
    a,img{border:0;}
    
    .demo{width:544px;margin:20px auto;}
    
    </style>
    
    <div class="demo">
    
    <a href='http://www.3mooc.com/' style="border:1px solid #000;">
    
    <img id="testimg" width="400" height="564" src="images/132ad.jpg" alt="" border="0">
    
    </a>
    
    </div>
    
    </body>
    
    </html>
    

    二、插件代码(插件名称:jquery.zoomImgRollover.js)

    
    (function(jQuery){
    
    jQuery.fn.zoomImgRollover = function(options) {
    
    var defaults = {
    
    percent:30,
    
    duration:600
    
    };
    
    var opts = jQuery.extend(defaults, options);
    
    // static zoom function
    
    function imageZoomStep(jZoomImage, x, origWidth, origHeight)
    
    {
    
    var width = Math.round(origWidth * (.5 + ((x * opts.percent) / 200))) * 2;
    
    var height = Math.round(origHeight * (.5 + ((x * opts.percent) / 200))) * 2;
    
    var left = (width - origWidth) / 2;
    
    var top = (height - origHeight) / 2;
    
    jZoomImage.css({width:width, height:height, top:-top, left:-left});
    
    }
    
    return this.each(function()
    
    {
    
    var jZoomImage = jQuery(this);
    
    var origWidth = jZoomImage.width();
    
    var origHeight = jZoomImage.height();
    
    // add css ness. to allow zoom
    
    jZoomImage.css({position: "relative"});
    
    jZoomImage.parent().css({overflow: "hidden", display:"block", position: "relative", width: origWidth, height: origHeight});
    
    jZoomImage.mouseover(function()
    
    {
    
    jZoomImage.stop().animate({dummy:1},{duration:opts.duration, step:function(x)
    
    {
    
    imageZoomStep(jZoomImage, x, origWidth, origHeight)
    
    }});
    
    });
    
    jZoomImage.mouseout(function()
    
    {
    
    jZoomImage.stop().animate({dummy:0},{duration:opts.duration, step:function(x)
    
    {
    
    imageZoomStep(jZoomImage, x, origWidth, origHeight)
    
    }});
    
    });
    
    });
    
    };
    
    })(jQuery);
    

    相关文章

      网友评论

          本文标题:jquery图片放大插件鼠标悬停图片放大效果

          本文链接:https://www.haomeiwen.com/subject/kccvpctx.html