1

我对 XML 很陌生,对 Javascript 也很陌生,我遇到了一些问题。不久前我写了一些 JavaScript 代码,其中包含一组图像,这些图像是 gif 的帧,因此您可以根据需要单独控制帧。我想对图像使用 XML 文件,而不是在我的 JS 文件中有巨大的数组(每个 gif 是 38 帧,有 6 个 gif ......),但是现在当我尝试调用数组中的图像时,我得到 / devDirectory/undefined 而不是 devDirectory/images/example.jpg 出现在控制台中。

这是我正在使用的 XML 代码:

代码:

<?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:

代码:

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

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

4

0 回答 0