ニュースの記事のようなテキストの段落を表示し、定期的に変更するアプリケーションを作成しようとしています。 他の人がストーリーを追加したり、古い物語などを削除できるように、xmlファイルからデータを取得したい。 xmlファイルのデータで1つのhtmlフィールドを埋め込むようにJavaScriptを取得しようとしている。その後、所定の時間が経過した後、4秒間、次のデータに変更されます。Javascript - xml要素を循環して順に表示
HMTL:
<head>
<script src="script.js"></script>
</head>
<body>
<div id="text"></div>
</body>
XML:
<document>
<text>one</text>
<text>two</text>
<text>three</text>
</document>
はJavaScript:
var timer = setInterval(addText,4000);
var xhttp = new XMLHttpRequest();
xhttp.onreadystaechange = function() {
if(this.readyState == 4 && this.status == 200) {
addText(this);
}
};
function addText(xml) {
var xmlDoc = xml.responseXML;
var count = 0;
var max = xmlDoc.GetElementsByTagName("text");
document.getElementById("text").innerHTML =
xmlDoc.getElementByTagName("text")[count].childNodes[0].nodeValue;
if (count < max.length) {
count++;
} else {
count = 0;
}
}
xhttp.open("GET", "XMLFile.xml",true);
xhttp.send();
電流を 以下は、私がやろうとしていたものの非常に粗製のバージョンであります私が経験している問題は、最初のxmlフィールドが正常に設定されているが、エラーが発生するということです"Unable to get property 'responseXML' of undefined or null reference"
。
理想的には、関数が発生するたびにxmlドキュメントが開かれるようにしたいのですが、余分なデータがxmlファイルに追加された場合、アプリケーションを再起動する必要はありません。可能です)
'xhttp'を独自の関数に入れ、その関数を' setInterval'のターゲットとして設定したいと思うでしょう。今、最初の行が実行されてから4秒後に 'addText'が' xml'引数なしで呼び出されます。 –
それは私が得ていたエラーを取り除いているので、それに感謝します。しかし、私の「カウント」は増加していません。 if文を 'if(count
MoultoB