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实现表格排序方法
Jun 14 Javascript
showModelDialog弹出文件下载窗口的使用示例
Nov 19 Javascript
jQuery学习笔记之toArray()
Jun 09 Javascript
javascript中eval和with用法实例总结
Nov 30 Javascript
实例讲解避免javascript冲突的方法
Jan 03 Javascript
seajs学习教程之基础篇
Oct 20 Javascript
jQuery实现简易的输入框字数计数功能示例
Jan 16 Javascript
详解Node.js中exports和module.exports的区别
Apr 19 Javascript
彻底理解js面向对象之继承
Feb 04 Javascript
Node.js实现注册邮箱激活功能的方法示例
Mar 23 Javascript
详解Angular Karma测试的持续集成实践
Nov 15 Javascript
vue实现五子棋游戏
May 28 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
如何用php获取程序执行的时间
2013/06/09 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
js类 from qq
2006/11/13 Javascript
jQuery 入门级学习笔记及源码
2010/01/22 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
python单例模式实例分析
2015/04/08 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
django创建css文件夹的具体方法
2020/07/31 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
java关于string最常出现的面试题整理
2021/01/18 Python
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
面向对象编程是如何提高软件开发水平的
2014/05/06 面试题
机电专业个人自荐信格式模板
2013/09/23 职场文书
社团成立邀请函
2014/01/08 职场文书
网络宣传方案
2014/03/15 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
超级礼物观后感
2015/06/15 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Mysql中有关Datetime和Timestamp的使用总结
2021/12/06 MySQL