jQuery实现图片加载完成后改变图片大小的方法


Posted in Javascript onMarch 29, 2016

本文实例讲述了jQuery实现图片加载完成后改变图片大小的方法。分享给大家供大家参考,具体如下:

要改变图片的大小并不难,可以用jQuery操作css改变。但是前提是要判断图片是否加载完成。主要是通过jQuery的load事件和onreadystatechange来判断其状态。

对于IE6,用onreadystatechange可以直接处理,在IE7中,则需要用定时器来判断图片的readystate状态。而对于FF和Chrome刚可以直接用load事件来判断。

以下是在实例中使用的完整代码:

<script type="text/javascript">
$(document).ready(function(){
  function changeSize(obj){
  //本函数用于在图片加载时对图片大小等进行设置
   w=obj.width();
   h=obj.height();
   t=obj.attr("title");
   src=obj.attr("src");
   obj.width(w>400?400:w);
   obj.height(w>400?(400/w)*h:h);
   obj.css("cursor","pointer");
   obj.click(function(){
    $("#picDlg").html("<img src="+src+" border=0/>").fadeIn(1000).dialog({
     width:"auto",
     height:"auto",
     title:t,
     modal:true,
     draggable:false,
     resizable:false
    })
   })
  }
  if($.browser.msie){
   //IE 6.0
   if($.browser.version==6.0){
    $(".bodyLeft img").each(function(ind,ele){
     // ele.onreadystatechange =function(){
      if(ele.readyState == "complete"||ele.readyState=="loaded"){
       changeSize($(this));
      }
     //}
    })
   }
   //IE 6.0以上
   else{
    $(".bodyLeft img").each(function(){
     tempTimer=window.setInterval(function(ind,ele){
      if(ele.readyState=="complete"){
       window.clearInterval(tempTimer);
       changeSize($(this));
      }
      else{
       return;
      }
     },200);
    })
   }
  }
  //FF,Chrome
  else{
   $(".bodyLeft img").each(function(ind,ele){
    alert(ele.complete);
    if(ele.complete==true){
     changeSize($(this));
    }
   })
  }
})
</script>

上面的图片可以将图片等比例缩小显示在文章中,同时使用的jQuery的Dialog UI组件单击图片时,以一个层显示完整大小的图片。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript动画效果类封装代码
Aug 28 Javascript
php跨域调用json的例子
Nov 13 Javascript
JS Loading功能的简单实现
Nov 29 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
Dec 18 Javascript
JS实现同时搜索百度和必应的方法
Jan 27 Javascript
基于jQuery实现动态搜索显示功能
May 05 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
Sep 25 Javascript
详解用JS添加和删除class类名
Mar 25 Javascript
通过实例学习React中事件节流防抖
Jun 17 Javascript
vue更改数组中的值实例代码详解
Feb 07 Javascript
Web前端开发工具——bower依赖包管理工具
Mar 29 #Javascript
Jquery操作cookie记住用户名
Mar 29 #Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 #Javascript
Javascript设计模式之观察者模式(推荐)
Mar 29 #Javascript
AngularJS directive返回对象属性详解
Mar 28 #Javascript
Boostrap模态窗口的学习小结
Mar 28 #Javascript
理解javascript模块化
Mar 28 #Javascript
You might like
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
ThinkPHP之N方法实例详解
2014/06/20 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
javascript中基本类型和引用类型的区别分析
2015/05/12 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
2016/08/15 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
Python中用于计算对数的log()方法
2015/05/15 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
Python实现分段线性插值
2018/12/17 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
考试没考好检讨书
2014/01/31 职场文书
工程建设实施方案
2014/03/14 职场文书
房地产广告词大全
2014/03/19 职场文书
2014年新生军训方案
2014/05/01 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
跑吧孩子观后感
2015/06/10 职场文书
党纪处分决定书
2015/06/24 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle