作家
登录

jQuery图片预加载 等比缩放实现代码

作者: 来源:www.28hudong.com 2013-03-30 00:42:32 阅读 我要评论

复制代码 代码如下: /* * Image preload and auto zoom * scaling 是否等比例自动缩放 * width 图片最大高 * height 图片最大宽 * loadpic 加载中的图片路径 * example $("*").LoadImage(true,w,h); */ jQuery.fn.LoadImage=function(scaling,width,height,loadpic){ if(loadpic==null)loadpic="../images/loading.gif"; return this.each(function(){ var t=$(this); var src=$(this).attr("src") var img=new Image(); //alert("Loading...") img.src=src; //自动缩放图片 var autoScaling=function(){ if(scaling){ if(img.width>0 && img.height>0){ if(img.width/img.height>=width/height){ if(img.width>width){ t.width(width); t.height((img.height*width)/img.width); t.css("margin-top", (height-t.height())/2); }else{ t.width(img.width); t.height(img.height); t.css("margin-top", (height-t.height())/2); } } else{ if(img.height>height){ t.height(height); t.width((img.width*height)/img.height); t.css("margin-top", (height-t.height())/2); }else{ t.width(img.width); t.height(img.height); t.css("margin-top", (height-t.height())/2); } } } } } //处理ff下会自动读取缓存图片 if(img.complete){ //alert("getToCache!"); autoScaling(); return; } $(this).attr("src",""); var loading=$("<img alt="加载中..." title="图片加载中..." src=""+loadpic+"" />"); t.hide(); t.after(loading); $(img).load(function(){ autoScaling(); loading.remove(); t.attr("src",this.src); t.show(); //alert("finally!") }); }); }

  推荐阅读

  jQuery AjaxQueue改进步骤

假期里没事就想着改进下,改得地方不多,主要有以下三点: complete回调在jquery1.5以后可以是一个函数数组,按数组顺序调用。 如果前一个请求未返回,新的请求发出,那么撤销前一个请求,也就是新的请求“覆盖”原>>>详细阅读


本文标题:jQuery图片预加载 等比缩放实现代码

地址:http://www.17bianji.com/kaifa2/JS/24089.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)