解决方案 »

  1.   

    看下是不是有报错,看下是不是图片的src属性已经更改了,来确认问题吧应该没问题的,我这测试时没有问题的。
      

  2.   

    你咋测试的,没有报错,是图片的路径错了吗?你在页面结构内,看看对应的img标签的src属性有没有更改啊。我测试都是没有问题的。
      

  3.   

    var obj = document.getElementById("img"+pho[0]);
    if(obj)
    obj.src='../images/itemid/113360/1404179284640.png?t='+Math.random();
    else alert("obj is null")
      

  4.   

    我方法的全部代码:
    //方法是显示一个隐藏的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');
        } 
    我的全部代码   请帮忙指正
      

  5.   

    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);
      

  6.   

    pho[1] 怎么是 1 ?
    不是 i 么?
      

  7.   

    楼上的大哥,我不能用事先加载的。
    我做的是:同一个DIV中放置了9张图片,当我选择不同的物品时,显示的9张图片是不一样的。我不能做成有多少物品加载多少个DIV的。我只是做选择不同的物品,用JS跟换图片的。而且,IE8完好,但是就IE9、10里面只显示框框,根本就不显示图片的。
      

  8.   

    @9楼的大哥,好像您是对的,是没有加载完,我在var img =new Image();   这个后面加了个alert(img.width) ;然后就能显示了。而且img.width 为0;9楼大哥如何搞?