-1

XML ドキュメントを読み取り、それを使用して HTML ページを作成するコードがいくつかあります。マークダウンに似ていると思います。以下のコードを簡略化しましたが、事実上、最後に CAROUSEL がある JS 行は XML を見ていますが、必要な 1 つではなく 7 つのカルーセル div を作成しています。7回返される理由はわかりますが(一種)、1回だけ作成するにはどうすればよいですか。CAROUSEL タグ (XML セクションを参照) 内の ITEM タグは、その特定のカルーセル内にある画像を示します。

JS:

         var col9div = null;
    if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            var  xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.open("GET",'xml/index'+page_counter+".xml",false);
        xmlhttp.send();
        xmlDoc=xmlhttp.responseXML;
        var col9div = document.createElement("div");

                                });
                                var tempvar = arr.length;
                                console.log(tempvar);
        $(col9div).addClass("col-md-9");
        $("#bannersize").append(col9div);
        flush();
        function flush(){
            var activity_element_idcounter = 0;
            var module_element_idcounter = 0;
            var x=xmlDoc.getElementsByTagName("MODULE");

            for (i=0;i<x.length;i++)
            {
                var getlastli = $(".sidecounter:last");

                module_element_idcounter++;
                col9div.insertAdjacentHTML('beforeend', '<div class="row"><div class="col-md-12 well"' + ' id="module' + module_element_idcounter + '"><div id="skrollr-div' + module_element_idcounter + '"></div></div>');
                var scanner = x[i].getElementsByTagName("*");
                for (var q=0;q<scanner.length;q++){
                    activity_element_idcounter ++;

                $.each(scanner[q].childNodes, function(){
else if (scanner[q].nodeName === "CAROUSEL"){
do something here
}

XML:

<MODULE>
        <CAROUSEL>
                <ITEM>assets/images/index5/tehran-carousel/tehran-day-and-night.jpg</ITEM>
                <ITEM>assets/images/index5/tehran-carousel/tehran-day-and-night-1.jpg</ITEM>
                <ITEM>assets/images/index5/tehran-carousel/tehran-bazaar-entrance.jpg</ITEM>
        </CAROUSEL>
</MODULE>

ありがとう、ロビー

4

1 に答える 1