jQuery实现图片加载完成后改变图片大小的方法
作者:bea
本文实例讲述了jQuery实现图片加载完成后改变图片大小的方法。分享给大家供大家参考,具体如下: 要改变图片的大小并不难,可以用jQuery操作css改变。但是前提是要判断图片是否加载完成。主要是通过jQuery的load事件和onreadystatechange来判断其状态。 对于IE6,用onreadystatechange可以直接处理,在IE7中,则需要用定时器来判断图片的readystate状态。而对于FF和Chrome刚可以直接用load事件来判断。 以下是在实例中
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《jQuery切换特效与技巧总结》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
猜你喜欢
您可能感兴趣的文章:
- 基于React.js实现原生js拖拽效果引发的思考
- 基于jQuery实现Ajax验证用户名是否存在实例
- nodeJs爬虫获取数据简单实现代码
- jQuery表格插件datatables用法汇总
- 基于javascript实现tab切换特效
- 基于javascript实现简单的抽奖系统
- 基于javascript实现九宫格大转盘效果
- 全屏js头像上传插件源码高清版
- js闭包引起的事件注册问题介绍
- 使用postMesssage()实现跨域iframe页面间的信息传递方法
- js滚动条平滑移动示例代码
- JavaScript头像上传插件源码分享
- js解决movebox移动问题
- javascript中不易分清的slice,splice和split三个函数
- 分析js闭包引起的事件注册问题
- 使用postMesssage()实现iframe跨域页面间的信息传递
- Angularjs实现多个页面共享数据的方式
- jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
- JavaScript面向对象程序设计教程