一个xml文件
<?xml version="1.0" encoding="utf-8"?><root><url>http://mat1.qq.com/luxury/images/2007/10/10/1.jpg</url><url>http://mat1.qq.com/luxury/images/2007/10/10/2.jpg</url><url>http://mat1.qq.com/luxury/images/2007/10/10/3.jpg</url></root>一段js代码var interval = 2.5;
var random_display = 1; 
interval *=1000;
var list=new Array();
var image_index = 0;
image_list = new Array();
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument");
var i=0;
loadXML();
function loadXML(){
xmlDoc.async="false";
xmlDoc.load("temp.xml");
xmlObj=xmlDoc.documentElement;
nodes = xmlDoc.documentElement.childNodes;
for (i=0;i<xmlObj.childNodes.length;i++){
     list[i]=xmlObj.childNodes(i).text;
    }
}for(var k=0:k<list.length;k++)
{
    image_list[image_index++] = new imageItem(""+list[k].toString()+"");
}
var number_of_image = image_list.length;
function imageItem(image_location) {
this.image_item = new Image();
this.image_item.src = image_location;
}
function get_ImageItemLocation(imageObj) {
return(imageObj.image_item.src)
}
function generate(x, y) {
var range = y - x + 1;
return Math.floor(Math.random() * range) + x;
}
function getNextImage() {
if (random_display) {
image_index = generate(0, number_of_image-1);
}
else {
image_index = (image_index+1) % number_of_image;
}
var new_image = get_ImageItemLocation(image_list[image_index]);
return(new_image);
}
function rotateImage(place) {
var new_image = getNextImage();
document[place].src = new_image;
var recur_call = "rotateImage('"+place+"')";
setTimeout(recur_call, interval);
}
window.onload = function(){
rotateImage('img');}
一个html调用js
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <script language="javascript" src="javascript/JScript1.js" type="text/javascript"></script>
  </head>
<body >
    <img id="img" src="http://mat1.qq.com/luxury/images/2007/10/10/1.jpg" width="250" height="300"  />
</body>
</html>帮我看看那个段js代码有什么错
有郁闷的都搞了天了就是搞不出来

解决方案 »

  1.   

    我要用js从 xml文件中读取图片路径
    实现图片循环显示的功能
      

  2.   


    for(var   k=0:k <list.length;k++)
    {
            image_list[image_index++]   =   new   imageItem(""+list[k].toString()+"");

    报错说list.length没有对象
      

  3.   

    似乎是想随机读取XML里的图片地址
    在html最下面加段js代码试试
    <script language=javascript> rotateImage('img'); </script>
      

  4.   

    C:\Documents and Settings\Administrator\桌面\图片1.png
      

  5.   

    for(var   k=0:k <list.length;k++) 
    for(var   k=0k <list.length;k++) 
      

  6.   

    document[place].src   =   new_image; 
    ???
      

  7.   

    看看是不是放到数组里了.
    a.xml,a.js,a.html
    (1)三个文件均以utf格式保存.
    (2)注意a.js里load时的xml的路径问题. 以 a.html和a.xml的相对位置为准.a.xml
    <?xml version="1.0" encoding="utf-8"?>
    <root>
    <url>http://mat1.qq.com/luxury/images/2007/10/10/1.jpg</url>
    <url>http://mat1.qq.com/luxury/images/2007/10/10/2.jpg</url>
    <url>http://mat1.qq.com/luxury/images/2007/10/10/3.jpg</url>
    </root> a.js var imgList = new Array();
    var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
    xmlDoc.async = false;
    xmlDoc.load("a.xml");
    var imgItems = xmlDoc.selectNodes("//url");
    for(var i=0;i<imgItems.length;i++)
    {
    imgList[i] = imgItems.item(i).text;
    document.write(imgList[i] + "<br/>");
    }a.html<html>
    <script type="text/javascript" src="a.js">
    </script></html>
      

  8.   

    放进去了
    但是现在
    document[place].src   =   new_image; 
    document[....] 这样的错误!
      

  9.   

    document[index]
    还有这种写法?
    可能我水平的问题,没见到过.document已经代表了你整个ie窗口的文档区了.它还能数组?你是想用 document.all("对象id")或是 document.getElementById("对象id") 或 document.getElementByName("对象name") 
    或 document.all.item("对象id") 或 document.getElementsByTagName("对象标签类别") 来操作img吧.给你 html的body区的那个 img定义一个id,然后用 document.getElementById("img的那个id").src=newImage
      

  10.   

    定义了
    我之前没有 xml 时 
    这样做没有问题
    可以实现我的效果
    但是我们主管又说要用xml
    搞得我又要用js来读xml
    然后循环显示图片
    现在就一直搞不出来
    老是报上面那个错
    不过我试一你的提议
    看行不!
    都快把我郁闷死了
      

  11.   

    <!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html   xmlns="http://www.w3.org/1999/xhtml"   > 
    <head> 
            <title> Untitled   Page </title> 
            <script   language="javascript"   src="javascript/JScript1.js"   type="text/javascript"> </script> 
        </head> 
    <body   > 
            <img id="img" src="http://mat1.qq.com/luxury/images/2007/10/10/1.jpg"   width="250"   height="300"     /> 
    </body> 
    </html> 
    然后改你js里报错的那句:document[place].src       =       new_image;   
    改为
    document.getElementById(place).src       =       new_image;   注意空格和其它问题,csdn会乱加些空格上去.