jQuery实现图片加载完成后改变图片大小的方法
来源: 阅读:998 次 日期:2016-07-15 15:33:31
温馨提示: 小编为您整理了“jQuery实现图片加载完成后改变图片大小的方法”,方便广大网友查阅!

本文实例讲述了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程序设计有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map