0
我需要能夠使用點擊功能循環訪問xml文件。當頁面加載時,我只想要加載1個XML元素,然後使用點擊函數加載下一個。有點像內容滑塊,但要求時加載每一個。我正在使用它來顯示帶有標題的you tube視頻。通過ajax和jquery加載下一個xml元素
這裏是我的代碼...
$(document).ready(function(){
$.ajax({
type: "GET",
url: "video.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('video').each(function(){
var title = $(this).find('title').text();
var embed = $(this).find('embed').text();
$('<div class="video"></div>').html('<iframe width="300" height="200" src="http://www.youtube.com/embed/'+embed+' frameborder="0"></iframe><h2>'+title+'</h2>').appendTo('#video_block');
});
}
});
});
下面是XML代碼:
<video>
<title>Title 1 here</title>
<embed>FScJfrh80UY</embed>
</video>
<video>
<title>Title 2 here</title>
<embed>FScJfrh80UY</embed>
</video>
任何幫助非常感謝。
編輯
這裏是我現在當前的代碼 - 它需要一個輕微的夫婦,因爲一些錯誤的扭動......
$(document).ready(function(){
var i = 0;
getVid();
$('#prev').bind('click', function() {
i--;
getVid();
$('.video').remove()
return false;
})
$('#next').bind('click', function() {
i++;
getVid();
$('.video').remove()
return false;
})
function getVid() {
$.ajax({
type: "GET",
url: "video.xml",
dataType: "xml",
success: function(xml) {
oVid = $(xml).find('video:eq('+i+')');
var title = oVid.find('title').text();
var embed = oVid.find('embed').text();
$('<div class="video"></div>').html('<iframe width="300" height="200" src="http://www.youtube.com/embed/'+embed+'" frameborder="0"></iframe><h2>'+title+'</h2>').appendTo('#video_block');
}
});
}
});
這樣的工作,但存在以下問題:
- 它需要默認顯示第一個xml元素 - 它當前不顯示任何內容。 ***我知道這個工作。在click事件函數之前放置getVid()!
- 當您第一次點擊「下一個」時,它會從第二個xml元素開始。
- 當您在最後一個元素上點擊「下一個」時,需要返回第一個元素。目前它試圖找到下一個元素,但沒有回來(因爲沒有什麼明顯存在於最後!)
非常感謝!!!!!
嘿謝謝。它一方面工作 - 它只加載一個元素。點擊事件並不真正起作用。我現在需要的是通過xml元素(帶有一些基本控件)向前和向後循環使用淡入和淡出效果。 – 2011-05-11 11:08:08
我忘了增加我,點擊事件現在可能會工作,再次嘗試使用我的編輯代碼 – rsplak 2011-05-11 11:12:57
再次感謝。你知道如何能夠使用下一個和前一個類型的導航來循環訪問xml元素嗎? – 2011-05-11 12:27:07