IE9,IE10下JS问题。

fengnenglu 2014-07-04 09:28:46
有大侠知道JS兼容的问题吗?
变更图片img地址,在IE8下使用非常正常,但用IE9,IE10就不能显示。

代码:
var obj = document.getElementById("img"+pho[0]);
obj.src='../images/itemid/113360/1404179284640.png';
...全文
357 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
XZowie 2014-07-08
  • 打赏
  • 举报
回复
估計是大小寫的問題
fengnenglu 2014-07-04
  • 打赏
  • 举报
回复
求大神救命啊
fengnenglu 2014-07-04
  • 打赏
  • 举报
回复
IE8下面显示非常的正常的。
fengnenglu 2014-07-04
  • 打赏
  • 举报
回复
引用 1 楼 zyl_lyr1019 的回复:
看下是不是有报错,看下是不是图片的src属性已经更改了,来确认问题吧 应该没问题的,我这测试时没有问题的。
没有任何报错,包括IE9,10
张运领 2014-07-04
  • 打赏
  • 举报
回复
看下是不是有报错,看下是不是图片的src属性已经更改了,来确认问题吧 应该没问题的,我这测试时没有问题的。
fengnenglu 2014-07-04
  • 打赏
  • 举报
回复
谢谢 9楼的大哥 你是我的男神
fengnenglu 2014-07-04
  • 打赏
  • 举报
回复
@9楼的大哥,好像您是对的,是没有加载完,我在var img =new Image(); 这个后面加了个alert(img.width) ;然后就能显示了。而且img.width 为0; 9楼大哥如何搞?
fengnenglu 2014-07-04
  • 打赏
  • 举报
回复
楼上的大哥,我不能用事先加载的。 我做的是:同一个DIV中放置了9张图片,当我选择不同的物品时,显示的9张图片是不一样的。我不能做成有多少物品加载多少个DIV的。我只是做选择不同的物品,用JS跟换图片的。 而且,IE8完好,但是就IE9、10里面只显示框框,根本就不显示图片的。
天际的海浪 2014-07-04
  • 打赏
  • 举报
回复
pho[1] 怎么是 1 ? 不是 i 么?
bbjbepzz 2014-07-04
  • 打赏
  • 举报
回复
var w = 150/img.width; var h = 100/img.height; if(w<h){//这里的img.width和img.height为原图大小 obj.width=w*img.width; obj.height=w*img.height; }else{ obj.width=h*img.width; obj.height=h*img.height; } 估计是图片没有加载完,宽度高度没有获取到,把上面这段代码放到onload事件里面试下。
img.onload = (function (_obj) {
	return function () {
		var w = 150 / this.width;
		var h = 100 / this.height;
		if (w < h) { //这里的img.width和img.height为原图大小
			_obj.width = w * this.width;
			_obj.height = w * this.height;
		} else {
			_obj.width = h * this.width;
			_obj.height = h * this.height;
		}
	};
})(obj);
fengnenglu 2014-07-04
  • 打赏
  • 举报
回复
我方法的全部代码: //方法是显示一个隐藏的DIV,其中需要设置图片的压缩比例。 function upload(del) { document.getElementById("itemIdMine").value=del.name; //图片地址 ,存放的是点击photoAdd 多张图片的地址字符串。 var photoAdd = document.getElementById(del.name+"Photo").value; // 先清空所有的图片地址 var imgList=document.getElementsByName("img"); for(var j=0;j<imgList.length;j++){ imgList[j].src=""; } if(!(photoAdd=="" || photoAdd == null)) { //解开用逗号分隔 var photo = photoAdd.split(","); for(var i = 0 ; i < photo.length ; i++) { //解开存放的位置,和图片地址 var pho = photo[i].split("※"); //找到图片地址 var obj = document.getElementById("img"+pho[0]); //预制压缩 var img =new Image(); //图片预加载 img.src=pho[1]; var w = 150/img.width; var h = 100/img.height; if(w<h){//这里的img.width和img.height为原图大小 obj.width=w*img.width; obj.height=w*img.height; }else{ obj.width=h*img.width; obj.height=h*img.height; } //赋值图片地址 //obj.src='pho[1]'; obj.setAttribute("src",pho[1]); } } document.getElementById("picMaintain").innerHTML = del.value; //显示DIV EV_modeAlert('envon'); } 我的全部代码 请帮忙指正
fengnenglu 2014-07-04
  • 打赏
  • 举报
回复
引用 6 楼 hch126163 的回复:
var obj = document.getElementById("img"+pho[0]); if(obj) obj.src='../images/itemid/113360/1404179284640.png?t='+Math.random(); else alert("obj is null")
大哥 还是不行啊。
hch126163 2014-07-04
  • 打赏
  • 举报
回复
var obj = document.getElementById("img"+pho[0]); if(obj) obj.src='../images/itemid/113360/1404179284640.png?t='+Math.random(); else alert("obj is null")
张运领 2014-07-04
  • 打赏
  • 举报
回复
你咋测试的,没有报错,是图片的路径错了吗?你在页面结构内,看看对应的img标签的src属性有没有更改啊。 我测试都是没有问题的。

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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