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 相关文章推荐
jQuery 第二课 操作包装集元素代码
Mar 14 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
Mar 25 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
Dec 16 Javascript
HTML5实现留言和回复页面样式
Jul 22 Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
vue v-on监听事件详解
May 17 Javascript
JS实现Cookie读、写、删除操作工具类示例
Aug 28 Javascript
layer实现弹出层自动调节位置
Sep 05 Javascript
Node对CommonJS的模块规范
Nov 06 Javascript
vue中的循环对象属性和属性值用法
Sep 04 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输出表格的实现代码(修正版)
2010/12/29 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
PDO::_construct讲解
2019/01/27 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
Javascript 面向对象 重载
2010/05/13 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
Python面向对象编程基础解析(二)
2017/10/26 Python
pyhton列表转换为数组的实例
2018/04/04 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
Python切片操作深入详解
2018/07/27 Python
python基于SMTP协议发送邮件
2019/05/31 Python
python如何保存文本文件
2020/06/07 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
2014年行政部工作总结
2014/11/19 职场文书
处罚决定书范文
2015/06/24 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers