easyui中图片缩放的js在360极速中不兼容,img宽高都为0,求各路大神帮忙!

u014652303 2015-08-18 06:15:33
这是js缩放方法
function AutoResizeImage(maxWidth, maxHeight, objImg) {
var img = new Image();
img.src = objImg.src;
var hRatio;
var wRatio;
var Ratio = 1;
var w = img.width;
var h = img.height;
wRatio = maxWidth / w;
hRatio = maxHeight / h;
if (maxWidth == 0 && maxHeight == 0) {
Ratio = 1;
} else if (maxWidth == 0) {//
if (hRatio < 1) Ratio = hRatio;
} else if (maxHeight == 0) {
if (wRatio < 1) Ratio = wRatio;
} else if (wRatio < 1 || hRatio < 1) {
Ratio = (wRatio <= hRatio ? wRatio : hRatio);
}
if (Ratio < 1) {
w = w * Ratio;
h = h * Ratio;
}
objImg.height = h;
objImg.width = w;
if (h==0 || w==0) {
AutoResizeImage(maxWidth, maxHeight, objImg);
}
}
<img id="txtlogo" name="" src="" onload="javascript:AutoResizeImage(160,120,this)" />
页面加载的时候post提交返回给src赋值,这个时候图片正常,但是使用UploadFile上传图片后,给图片的src赋值,这个时候图片闪了一下就没了,查看元素img就是这样的
<img id="txtlogo" name="" src="../../SJDimage/SJlogo/20150818/20150818181403821.jpg" onload="javascript:AutoResizeImage(160,120,this)" height="0" width="0">。路径是对的,可是宽高变0了,把宽高改了就能显示,这是为什么?
...全文
593 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你可以打印输出一下 var w = img.width; var h = img.height; 这两句的值,并且根据(都懂的)程序流程去调试。
  • 打赏
  • 举报
回复
在 var w = img.width; 这天语句之前要使用 settimeout 将后边的所有语句放到函数回调中,异步执行。
Justin-Liu 2015-08-19
  • 打赏
  • 举报
回复
卸载360。
u014652303 2015-08-19
  • 打赏
  • 举报
回复
OK,加上settimeout ()图片能显示了,大牛果然牛
u014652303 2015-08-19
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
在 var w = img.width; 这天语句之前要使用 settimeout 将后边的所有语句放到函数回调中,异步执行。
引用 3 楼 sp1234 的回复:
你可以打印输出一下 var w = img.width; var h = img.height; 这两句的值,并且根据(都懂的)程序流程去调试。
w,h都为0. 回调我懂,但是那个异步执行是什么意思?
大家好,又见面了!EasyUI又更新了,这次更新内容还是不少的,具体内容请参考下面的更新说明,官方的更新说明还少了1条,我给补上了。 jQuery EasyUI 1.3.5版本更新内容: Bug(修复) searchbox:修复“searcher”函数提供的“name”参数值错误的问题; combo:修复“isValid”方法无法返回布尔值的问题; combo:修复点击页面某一个combo组件的下拉列表时触发的“onHidePanel”事件会导致页面上其他combo组件的下拉列表被关闭的问题; combogrid:修复某些从combo组件继承来的方法无法使用的问题。 Improvement(改进) datagrid:改进检查行时候的性能; menu:允许追加菜单分隔符; menu:新增“hideOnUnHover”属性用于在鼠标离开菜单的时候指示是否需要隐藏菜单; slider:新增“clear”和“reset”方法; tabs:新增“unselect”方法、“onUnselect”事件; tabs:新增“selected”属性,用于指定的默认打开的面板; tabs:Tab Panel(Tab页)新增“collapsible”属性,用于设置是否允许摺叠面板; tabs:新增“showHeader”属性、“showHeader”方法和“hideHeader”方法; combobox:允许“disabled”属性禁用下拉列表选项; tree:改进数据加载时候的性能; pagination:新增“layout”属性,用于自定义控件的样式布局; accordion:新增“unselect”方法、“onUnselect”事件; accordion:新增“select”和“multiple”属性; accordion:新增“getSelections”方法; datebox:新增“sharedCalendar”属性,允许多个datebox控件共享使用同一个calendar控件。 datebox:新增“buttons”属性,用于自定义日历下方的按钮。 (译者注:该点更新内容官方更新公告上没有注明,具体内容和用法请看datebox的API。) 历史版本: - jQuery EasyUI 1.3.4 离线API简体文版 http://download.csdn.net/detail/richie696/6302785 - jQuery EasyUI 1.3.4 离线API简体文版 http://download.csdn.net/detail/richie696/5363933

1,977

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧