我遇到了麻煩,試圖通過jQuery爲來自XML文件的一些結果分頁,基本上我需要顯示10個雜誌封面,並且當用戶單擊前一個或下一個另一個10時,分別點擊了哪些內容。這裏是我的代碼:來自XML文件的分頁jQuery結果
$(document).ready(function() {
$.ajax({
type: "GET",
url: "issues.xml",
dataType: "xml",
success: function(xml) {
var startIndex = 0; // gets edited via ui
var howMany = 10; // constant of how many per page, but you could make this a ui changeable thing too
var $issues = $(xml).find('issue'); //the resulting issues from the xml
var totalIssues = $issues.length;
var numPages = Math.ceil(totalIssues/howMany)
$('span.issuecount').html(+totalIssues+' Issues - '+numPages+' Pages');
var displayIssues = function() { // display the issues
var $issuesPaginated = $issues.slice(startIndex , ($issues.length - startIndex) + howMany);
$('#shelf-items li').fadeOut(500); // clear old issues
$issuesPaginated.each(function(){
var id = $(this).attr('id');
var date = $(this).find('date').text();
var cover = $(this).find('cover').text();
var issue = $(this).find('issuenumber').text();
var url = $(this).find('url').text();
$('<li id="'+id+'"></li>').html('<a href="'+url+'"><img src="images/covers/'+cover+'" alt="" /></a><br />'+date+' - #'+issue+'').fadeIn(500).appendTo('#shelf-items');
});
}
$('#prevIssueButton').click(function() {
if(startIndex < howMany) {
startIndex -= howMany;
displayIssues().fadeIn(500);
}else {
alert('No more previous issues'); // probably want to do something more elegant here, like start over at 0, etc..
}
});
$('#nextIssueButton').click(function() {
if(startIndex + howMany >= totalIssues) {
startIndex += howMany;
displayIssues();
}else {
alert('No more next issues'); // probably want to do something more elegant here, like start over at 0, etc..
}
});
displayIssues().fadeIn(500); // display for the first time (ajax call);
}
}); // end ajax call
}); // end document-ready
編輯:現在還有上displayIssues JavaScript錯誤()淡入(500)。
嗨丹,不幸的是,沒有工作。它現在顯示空白,我怎樣才能控制與下一個/上一個鏈接的網頁? – 2010-06-28 14:57:40
是的,做了一個快速編輯 - 拼接方法需要再次成爲jquery對象。但更好的是,我使用了'.slice()'方法並將數學運算出來。 – 2010-06-28 14:59:19
XML文件中只包含少量數據,這不適用於公共查看,嚴格用於私人客戶端 - 所以DOM負載是不相關的。 這個出色的丹,你的幫助非常感謝!我只需要知道我可以如何對這些按鈕執行上一步+下一頁操作我已設置? – 2010-06-28 15:05:36