0

関連する XML ファイルを読み込んで、ビデオの再生時に XML ファイルのコンテンツを表示できるはずです。

私は何が欠けていますか?

デモ

JAVSCRIPT

var XML_PATH = "http://www.adjustyourset.tv/interview/cuepoints.xml";

var cuepoints=new Array();

$(document).ready(function() {
    loadXML();
});

function loadXML()
{
    $.ajax({
            type: "GET",
            url: XML_PATH,
            dataType: "xml",
            success: function onXMLloaded(xml) 
            {
                // set cuepoints
                cuepoints=$(xml).find("cuepoints");

                // loop for each cuepoint
                $(xml).find('cuepoint').each(function loopingItems(value)
                {   
                    // create an object
                    var obj={
                    timeStamp:$(this).find("timeStamp").text(),
                    desc:$(this).find("desc").text(),
                    thumbLink:$(this).find("thumbLink").text(),
                    price:$(this).find("price").text()};
                    cuepoints.push(obj);

                    $("#mycustomscroll").append('<ul>');
                    $("#mycustomscroll").append('<li id="item"><strong>'+(value+1)+"</strong><br/><strong>Time Stamp: </strong>"+obj.timeStamp+'</li>');
                });

                // close </ul>
                $("#mycustomscroll").append('</ul>');
                // append li tags
                $("#leftcolumn").append('<li src="'+cuepoints[0].desc+'"> <p src="'+cuepoints[0].thumbLink+'" /></li>');

                $("#price").append(cuepoints[0].price);

            }
    });
}
4

2 に答える 2

1

何も呼び出していませんinit()

変化する

function init() {
    // call loadXML function
    loadXML();
}

$(document).ready(function() {
    loadXML();
});
于 2012-11-13T16:57:14.607 に答える
1

Ok。今、私は質問を理解しました。ajax リクエストから xml を取得できますが、正しく解析できません。

このコードが気になる場合

  $(xml).find('cuepoint').each(function loopingItems(value)
                {    
            // create an object
                    var obj={timeStamp:$(this).find("timeStamp").text(), desc:$(this).find("desc").text(), thumbLink:$(this).find("thumbLink").text(), price:$(this).find("price").text()};
                    cuepoints.push(obj);

                    // append <ul> and timeStamp
                    $("#mycustomscroll").append('<ul>');
                    $("#mycustomscroll").append('<a><li id="item"><strong>'+(value+1)+"</strong><br/><strong>Time Stamp: </strong>"+obj.timeStamp+'</li></a>');
                });

this.getAttribute('timeStamp') or $(this).attr('timeStamp') の代わりに使用することをお勧めします$(this).find("timeStamp").text()。これは要素ではなく属性であるため、これから何も得られません。

于 2012-11-13T17:41:10.683 に答える