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

2019-12-25,,,,

最近在学习JS的OOP所以写了这么个东西
使用方法:
$(".viewArea img").zoom({height:74,width:103});
效果演示:
http://demo.jb51.net/html/jquery_img/jquery_img.htm
代码:
复制代码 代码如下:
(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);

效果是这样的:

您可能感兴趣的文章:

  • 基于jquery实现鼠标滚轮驱动的图片切换效果
  • JQuery实现鼠标滚轮滑动到页面节点
  • 基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
  • jQuery实现鼠标滚轮动态改变样式或效果
  • jquery横向纵向鼠标滚轮全屏切换
  • jQuery实现等比例缩放大图片让大图片自适应页面布局
  • jquery 图片预加载 自动等比例缩放插件
  • 用jquery实现等比例缩放图片效果插件
  • jquery实现图片按比例缩放示例
  • jQuery图片预加载 等比缩放实现代码
  • 基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
  • jQuery实现的鼠标滚轮控制图片缩放功能实例

《JQuery 图片延迟加载并等比缩放插件.doc》

下载本文的Word格式文档,以方便收藏与打印。