简单写了段代码,应该是可以兼容FF与IE的。自己根据需要再去修改吧。<html>
<head>
<script type="text/javascript">
var imgid = 0;
function AddImg(imgUrl) {
var obj = document.getElementById("test");
if (obj) {
var objImg = document.createElement("IMG");
objImg.id = "TempImg_" + (imgid++);
objImg.src = imgUrl;
objImg.style.position = "absolute";
objImg.style.posLeft = 0;
objImg.style.posTop = 0;
objImg.style.opacity = 0;
objImg.style.filter = "Alpha(Opacity=0)";
obj.appendChild(objImg);
setOpacity(objImg.id, 0);
}
}
function setOpacity(id, opacity) {
var obj = document.getElementById(id);
if (obj) {
obj.style.opacity = opacity / 100;
obj.style.filter = "Alpha(Opacity="+ opacity +")";
if (opacity<100) {
setTimeout(("setOpacity('" + id + "', " + Math.min(opacity+10,100) + ")"),100);
}
}
}
</script>
</head>
    <body>
     输入图片URL地址:<input type="text" id="imgurl" /> <input type="button" onClick="AddImg(document.getElementById('imgurl').value);" value="增加图片" /><br />
        <div id="test" style="position:relative; width:400px; height:400px; background-color:#CCCCCC; "></div>
    </body>
</html>

解决方案 »

  1.   


    你试一下我的代码,就知道是不是你需要的了。
    至于图片数组与Timer,自己加一下就Ok了。
      

  2.   


    这个是没办法替换的,因为你要把前一张做为背景,然后新的图片逐渐显现,然后取代前一张图片。对于已经被覆盖图片的删除,你在Addimg函数的末尾加这样的语句试试。[code]
    if (obj.children.length>5) {
        obj.removeChild(obj.children[0]);
    }
    [/code]上面的语句我没试过,如果不行你说下,我测试看看。
      

  3.   

    这个是没办法替换的,因为你要把前一张做为背景,然后新的图片逐渐显现,然后取代前一张图片。 对于已经被覆盖图片的删除,你在Addimg函数的末尾加这样的语句试试。 
    if (obj.children.length>3) {
         obj.removeChild(obj.children[0]);
    }
    上面的语句我没试过,如果不行你说下,我测试看看。 
      

  4.   

    <html> 
    <head> 
    <script type="text/javascript"> //让Firefox中的HTMLOBJ支持children属性
    HTMLElement.prototype.__defineGetter__("children", 
         function () { 
             var returnValue = new Object(); 
             var number = 0; 
             for (var i=0; i<this.childNodes.length; i++) { 
                 if (this.childNodes[i].nodeType == 1) { 
                     returnValue[number] = this.childNodes[i]; 
                     number++; 
                 } 
             } 
             returnValue.length = number; 
             return returnValue; 
         } 
     ); function showImg() {
        var obj = document.getElementById("test");
        if (obj) {
            if (obj.children.length>1) {
                var objImg = obj.children[0];
                objImg.style.opacity = 0; 
                objImg.style.filter = "Alpha(Opacity=0)";
                obj.removeChild(objImg);
                obj.appendChild(objImg);
                setOpacity(objImg.id, 0);
                setTimeout("showImg()",2000);//图片切换时间(毫秒) 
            }
        }
    }function setOpacity(id, opacity) { 
        var obj = document.getElementById(id); 
        if (obj) { 
            obj.style.opacity = opacity / 100; 
            obj.style.filter = "Alpha(Opacity="+ opacity +")"; 
            if (opacity <100) { 
                setTimeout(("setOpacity('" + id + "', " + Math.min(opacity+10,100) + ")"),100); 
            } 
        } 

    </script>
    <style>
        #test { position:relative; width:400px; height:400px; background-color:#CCCCCC; }
        #test img { position:absolute; left:0; top:0; }
    </style>
    </head> 
        <body onLoad="showImg();"> 
            <!--每个IMG都必须有不同的ID-->
            <div id="test">
                <img id="img01" src="http://www.sn.xinhuanet.com/2006-12/11/xin_25120311144314004951.jpg" />
                <img id="img02" src="http://www.sn.xinhuanet.com/2006-12/11/xin_25120311144365651682.jpg" />
                <img id="img03" src="http://www.sn.xinhuanet.com/2006-12/11/xin_251203111443937318543.jpg" />
                <img id="img04" src="http://www.sn.xinhuanet.com/2006-12/11/xin_261203111443406289654.jpg" />
            </div> 
        </body> 
    </html> 
      

  5.   

    http://www.898.com.cn/index.asp这个看看,,,是这种形式,
     点下面的数字来更换图片,,,
    我弄的主要是因为切换的效果不好...
      

  6.   


    楼主说的那个效果要想在JS+CSS+HTML上实现,并做到良好客户体验的话,你要使用多个时钟,对按钮移入移出,图片的切换等使用setTimeout与clearTimeout组合控制。相对你刚开始说的例子复杂许多,就不是简单几句话能实现的了。
    个人建议用Flash来实现。你用“Flash 图片轮播”去Google上搜索,有很多组件的。
      

  7.   

    那个也太普通了
    http://www.csdn.net/ui/adrotate.htm
      

  8.   

    <a onmouseover="MM_swapImage('Image1<%=l%>','','image/muisc_an00<%=l%>_b.gif',1)" onmouseout="MM_swapImgRestore()"><img src="图片地址" name="Image1<%=l%>" border="0" id="Image1<%=l%>" /></a>
          function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }