我对 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;
}
}
如果有人可以帮助我弄清楚为什么我得到未定义而不是实际图像,那就太好了!感谢您的时间 :)