源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JQuery 图片延迟加载并等比缩放插件

  • 时间:2021-04-03 13:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JQuery 图片延迟加载并等比缩放插件
最近在学习JS的OOP所以写了这么个东西 使用方法: $(".viewArea img").zoom({height:74,width:103}); 效果演示: [url=http://demo.jb51.net/html/jquery_img/jquery_img.htm]http://demo.jb51.net/html/jquery_img/jquery_img.htm [/url]代码:
[u]复制代码[/u] 代码如下:
(function($){ $.fn.zoom = function(settings){ //一些默认配置; settings = $.extend({ height:0, width:0, loading:"lightbox-ico-loading.gif" },settings); var images = this; $(images).hide(); var loadding = new Image(); loadding.className="loadding" loadding.src = settings.loading; $(images).after(loadding); //预加载 var preLoad = function($this){ var img = new Image(); img.src = $this.src; if (img.complete) { processImg.call($this); return; } //$this.src = loadding.src;//会导致获取错误的尺寸 img.onload = function(){ //$this.src = this.src; //会导致获取错误的尺寸 processImg.call($this); img.onload=function(){}; } } //计算图片尺寸; function processImg(){ //if(settings.height===0||settings.width ===0) return; var m = this.height-settings.height; var n = this.width - settings.width; if(m>n) this.height = this.height>settings.height ? settings.height : this.height; else this.width = this.width >settings.width ? settings.width : this.width; $(this).next(".loadding").remove() $(this).show(); } return $(images).each(function(){ preLoad(this); }); } })(jQuery);
效果是这样的: [img]http://files.jb51.net/upload/2009-11/20091109005032446.gif[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部