图片预加载并且自动等比例缩放的JS插件

2016-02-20 01:07 63 1 收藏

下面是个简单易学的图片预加载并且自动等比例缩放的JS插件教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Web开发 】

/*
**************图片预加载插件******************
///作者:没剑(2008-06-23)
///http://regedit.cnblogs.com

///说明:在图片加载前显示一个加载标志,当图片下载完毕后显示图片出来
可对图片进行是否自动缩放功能
此插件使用时可让页面先加载,而图片后加载的方式,
解决了平时使用时要在图片显示出来后才能进行缩放时撑大布局的问题
///参数设置:
scaling 是否等比例自动缩放
width 图片最大高
height 图片最大宽
loadpic 加载中的图片路径
*/
jQuery.fn.LoadImage=function(scaling,width,height,loadpic){
if(loadpic==null)loadpic="load3.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.width0 && img.height0){
if(img.width/img.height=width/height){
if(img.widthwidth){
t.width(width);
t.height((img.height*width)/img.width);
}else{
t.width(img.width);
t.height(img.height);
}
}
else{
if(img.heightheight){
t.height(height);
t.width((img.width*height)/img.height);
}else{
t.width(img.width);
t.height(img.height);
}
}
}
}
}
//处理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!")
});

});
}

使用说明:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

效果如下:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

效果演示

来源:http://www.tulaoshi.com/n/20160220/1633324.html

延伸阅读
标签: Web开发
有很多种方法来实现图片的预加载,通常大部分使用Javascript让事情滚动。不要再受Javascript预载的束缚了吧,用CSS你就可以毫不麻烦的预载你的图片。 为什么使用预载 你为什么会考虑使用预载呢?你是否曾有个网站,在那个网站你要滚动你的导航然后有个延迟直到图片被加载完嘿嘿。预载将在这方面帮助你。它将在页面加载的时候加载那些图片...
标签: Web开发
按比例缩小或者放大到某个尺寸,对于标准浏览器(如Firefox),或者最新都IE7浏览器, 直接使用max-width,max-height;或者min-width,min-height的CSS属性即可。如: img{max-width:100px;max-height:100px;} img{min-width:100px;min-height:100px;} 对于IE6及其以下版本的浏览器,则可以利用其支持的expression属性,在css co...
今天在看视觉规范的时候,大高走过来说帮他们那边看一个问题。又是一个关于自适应的问题。不过,我喜欢。瞄了一下,需求是这样的:用户上传照片,照片的尺寸未知;需要生成一个预览,这个预览图要根据提供给用户预览的区域自应用,并且居中;如果图片太大,需要按比例缩放。如下图。   瞄了一下,居中可以用 text-align:center; 来实...
标签: Web开发
效果可以直接看淘宝的商品分类页、还有QQ的商城页 相关地址: 淘宝商城显示   大家如果使用firebug去查看的话就会发现,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较长的页面来说,这个方案是比较好的。  ...
标签: Web开发
怎样使用? Lazy Load 依赖于 jQuery. 请将下列代码加入页面 head 区域: 代码如下: script src="jquery.js" type="text/javascript"/script script src="jquery.lazyload.js" type="text/javascript"/script 并且在你的执行代码中加入下面语句: 代码如下: $("http://www.appelsiini.net/projects/lazyload/img").lazyload(); ...

经验教程

793

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部