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 相关文章推荐
表单填写时用回车代替TAB的实现方法
Oct 09 Javascript
编写自己的jQuery插件简单实现代码
Apr 19 Javascript
JQuery切换显示的效果实例代码
Feb 27 Javascript
js 一个关于图片onload加载的事
Nov 10 Javascript
javascript中声明函数的方法及调用函数的返回值
Jul 22 Javascript
jquery表单对象属性过滤选择器实例分析
May 18 Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 Javascript
node.js 中国天气预报 简单实现
Jun 06 Javascript
JS使用单链表统计英语单词出现次数
Jun 16 Javascript
js 判断一个数字是不是2的n次方幂的实例
Nov 26 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
微信小程序前端promise封装代码实例
Aug 24 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 str_replace的替换漏洞
2008/03/15 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
Mootools 1.2教程 事件处理
2009/09/15 Javascript
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
angularjs实现分页和搜索功能
2018/01/03 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
基于python编写的微博应用
2014/10/17 Python
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
全球性的女装店:storets
2019/06/12 全球购物
中药学专业毕业生推荐信
2014/07/10 职场文书
任命书标准格式
2015/03/02 职场文书
欢送会主持词
2015/07/01 职场文书
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技
Vue router配置与使用分析讲解
2022/12/24 Vue.js