0

HTMLページのレイアウトとしてXMLファイルを使用しており、JavaScriptを使用して次のようにロードしています。

if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.open("GET","default.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

2つ以上のレイアウトを切り替えるにはどうすればよいですか?

私はjavascript/xmlを使用して、次のようにxmlをhtmlにロードしています。

document.write('<ul id="horizontal-list">');
var x=xmlDoc.getElementsByTagName("APP");
for (i=0;i<x.length;i++)
  { 
  document.write('<li><a class="app_link" href="depiction.php?app=');
  document.write(x[i].getElementsByTagName("NAME")[0].childNodes[0].nodeValue);
  document.write('&dl=');
  document.write(x[i].getElementsByTagName("DOWNLOAD")[0].childNodes[0].nodeValue);
  document.write('&install=');
  document.write(x[i].getElementsByTagName("INSTALL")[0].childNodes[0].nodeValue);
  document.write('">');
  document.write('<label class="app_label">');
  document.write(x[i].getElementsByTagName("NAME")[0].childNodes[0].nodeValue);
  document.write('</label><img class="applicationIcon" src="');
    document.write(x[i].getElementsByTagName("ICON")[0].childNodes[0].nodeValue);
  document.write('"/></a></li>');
  }
document.write('</ul>');

注:私はcssスタイルシートも使用しています。

4

1 に答える 1

1

ajaxを以下のような関数にし、xmlファイルへのパスを使用して関数を呼び出します。

function getXml($file){
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

xmlhttp.open("GET",$file,false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 
}

また、cssファイルを送信することもできます(関数に2番目のパラメーターを追加し、jqueryのappend関数を使用してスタイルシートを追加します)

于 2013-02-28T22:37:58.217 に答える