JavaScript调用XML数组 - 未定义的错误

时间:2013-10-28 22:00:48

标签: javascript xml arrays undefined

我是XML新手,对Javascript很新,我遇到了一些问题。我刚才用一些gif帧的图像编写了一些JavaScript代码,这样你就可以根据需要单独控制帧。我想在图像中使用XML文件,而不是在我的JS文件中使用大型数组(每个gif是38帧,有6个GIF ...),但现在当我尝试调用数组中的图像时,我得/ devDirectory / undefined而不是devDirectory / images / example.jpg出现在控制台中。

以下是我正在使用的XML代码:

CODE:

<?xml version="1.0" encoding="utf-8"?>
<data>
  <directories>
    <imagePath>images/</imagePath>
  </directories>
  <myimages>
    <eyeimage>eyeframes1.jpg</eyeimage>
    <eyeimage>eyeframes2.jpg</eyeimage>
    <eyeimage>eyeframes3.jpg</eyeimage>
-----ETC. (this continues until eyeframes38)-----   
    <stomachimage>stomachframes1.jpg</stomachimage>
    <stomachimage>stomachframes2.jpg</stomachimage>
    <stomachimage>stomachframes3.jpg</stomachimage>
-----ETC. (this continues until stomachframes38)-----
  </myimages>
</data>

这是JavaScript:

CODE:

 var eyeFrames = new Array;

$(document).ready(function(){
            $.ajax({
                type: "GET",
                url: "xml/sample.xml",
                dataType: "xml",
                success: parseXml
            });
        });
        function parseXml(xml){
            var thumbHtml;
            var imageDir = $(xml).find("directories").find("imagePath").text();
            $(xml).find("eyeimage").each(function(){
                var eyeImage = $(this).find("eyeimage").text();
                thumbHtml = imageDir + eyeImage;            
                eyeFrames.push(thumbHtml);
            });
            playFrames();   
        };
    function playFrames() {
            var i=0;
    setInterval(function() { 
    if(i<38) {
            i++;
            document.getElementById('eye').src = eyeFrames[i].src;
        }
        else {
        i=0;
    }

    }, 720);

}
function checkFrame() {
        if(i=38){
            i=0;
}
}

如果有人能帮助我弄清楚为什么我会得到未定义的而不是实际的图像,那就太棒了! 谢谢您的时间:))

0 个答案:

没有答案