都知道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="data: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);