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来处理图片坏链具体实现步骤
May 02 Javascript
JQuery解析HTML、JSON和XML实例详解
Mar 29 Javascript
一步步教大家编写酷炫的导航栏js+css实现
Mar 14 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
详解handlebars+require基本使用方法
Dec 21 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
Jquery实现无缝向上循环滚动列表的特效
Feb 13 jQuery
vue 表单之通过v-model绑定单选按钮radio
May 13 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
Jun 18 jQuery
教你搭建按需加载的Vue组件库(小结)
Jul 29 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
TypeScript中条件类型精读与实践记录
Oct 05 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 disk_free_space 返回目录可用空间
2010/05/10 PHP
php中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
php生成word并下载代码实例
2019/03/15 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
一个css与js结合的下拉菜单支持主流浏览器
2014/10/08 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
Angularjs之filter过滤器(推荐)
2016/11/27 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
node.js 如何监视文件变化
2020/09/01 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
keras 读取多标签图像数据方式
2020/06/12 Python
python实现数字炸弹游戏
2020/07/17 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
详解Python中的文件操作
2021/01/14 Python
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
个人自我评价和职业目标
2014/01/24 职场文书
硕士生找工作求职信
2014/07/05 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python