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 性能优化指南(2)
May 21 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
Oct 03 Javascript
一个获取第n个元素节点的js函数
Sep 02 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
js实现图片切换(动画版)
Dec 25 Javascript
Javascript中字符串和数字的操作方法整理
Jan 22 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
Mar 15 Javascript
详谈JS中数组的迭代方法和归并方法
Aug 11 Javascript
使用vue中的混入mixin优化表单验证插件问题
Jul 02 Javascript
Ant design vue中的联动选择取消操作
Oct 31 Javascript
three.js显示中文字体与tween应用详析
Jan 04 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 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教程之PHP中shell脚本的使用方法分享
2012/02/23 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
php数组的概述及分类与声明代码演示
2013/02/26 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
jquery Ajax实现Select动态添加数据
2017/06/08 jQuery
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
联想德国官网:Lenovo Germany
2018/07/04 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
参观考察邀请函范文
2014/01/29 职场文书
组织委员竞选稿
2015/11/21 职场文书
初中生物教学反思
2016/02/20 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
Javascript的promise,async和await的区别详解
2022/03/24 Javascript
Python如何使用循环结构和分支结构
2022/04/13 Python