我設置了一個網站的自行車報價,並且我在重新加載數據之後,它已經被使用過一次時遇到了麻煩。首次使用後,無法訪問XML數據使用JQUERY html()或append()
我用一堆數據設置了一個XML文件。數據包括報價,作者以及作者的職位(報價,作者,標題)。
然後我有一個jQuery .ajax調用並將其存儲在變量xmlData
。
xmlData然後用於追加或添加html到指定的id標籤。
我使用setInterval()爲了移動XML數據。
這個想法是通過一個循環,如:1 | 2 | 3 | 1 | 2 | 3等等。但是當它回來後,數據被附加到一個ID後,它不再顯示。就好像數據已從XML文件中刪除。
任何幫助,將不勝感激。代碼如下,以及我正在測試的網站URL。
<script language="javascript" type="text/javascript">
var xmlData;
var xmlFAILdata;
var nextE = 0;
var ttlE;
var quote;
var author;
var title;
$(function(){
$.ajax({
type: "GET",
url:"/wp-content/themes/privilegeofpersecution/endorsements.xml",
data: "",
dataType:"xml",
async: false,
success: function(xml){
//alert("XML SUCCESS!");
xmlData = xml;} ,
error: function(xmlFAIL){
alert("XML FAIL");
}
});
ttlE = $(xmlData).find('endorsement').length;
//Since .length return the number starting at 1 rather than 0 subtract 1 for accuracy
ttlE -= 1;
//On pageload, load in the first Endorsement into variables
quote = $(xmlData).find('endorsement').eq(0).children('quote');
author =$(xmlData).find('endorsement').eq(0).children('author');
title =$(xmlData).find('endorsement').eq(0).children('title');
//Append variables to id containers
$("#quote").html(quote);
$("#author").html(author);
$("#title").html(title);
//executes the function "next" which places the next endorsement
setInterval("next()", 5000);
});
function next(){
console.log('Next Function Started');
if(nextE >= ttlE){
nextE = 0;
}
else{
nextE++;
}
console.log('nextE = ' + nextE);
quote = $(xmlData).find('endorsement').eq(nextE).children('quote');
author =$(xmlData).find('endorsement').eq(nextE).children('author');
title =$(xmlData).find('endorsement').eq(nextE).children('title');
$("#quote").html(quote);
$("#author").html(author);
$("#title").html(title);
}
</script>
這裏是網站:http://privilegeofpersecution.com/wp-content/themes/privilegeofpersecution/xmltest.html