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开发包大全整理
Dec 22 Javascript
如何用javascript判断录入的日期是否合法
Jan 08 Javascript
javascript 日期时间函数(经典+完善+实用)
May 27 Javascript
Js组件的一些写法
Sep 10 Javascript
JS中处理与当前时间间隔的函数代码
May 23 Javascript
Javascript的时间戳和php的时间戳转换注意事项
Apr 12 Javascript
js下拉框二级关联菜单效果代码具体实现
Aug 03 Javascript
JavaScript打印网页指定区域的例子
May 03 Javascript
JavaScript实现显示函数调用堆栈的方法
Apr 21 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
angularjs ocLazyLoad分步加载js文件实例
Jan 17 Javascript
学习node.js 断言的使用详解
Mar 18 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判断电脑访问、手机访问的例子
2014/05/10 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
setTimeout学习小结
2017/02/08 Javascript
详解jquery选择器的原理
2017/08/01 jQuery
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
python中while循环语句用法简单实例
2015/05/07 Python
python字符串对其居中显示的方法
2015/07/11 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
10款最好的Python开发编辑器
2019/07/03 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
python实现邮件循环自动发件功能
2020/09/11 Python
Python join()函数原理及使用方法
2020/11/14 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
金融管理专业毕业生求职信
2014/03/12 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
爱心捐书倡议书
2015/04/27 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书