xmlファイルを読んで、画像のパスとリンク先URLを取得でして、ランダムで画像を表示というようなものを探しています。
jQuery の parseXML()メソッド を使って XML をパースし、データを一旦arrayに保存。後は、array 内の Math.floor(Math.random()*array.length) のインデックスにある値を呼び出してみるのはどうでしょう?
あえてツッコむとすれば、javascript を使っているのに何故 JSON を使わず XML を使うのかというところですね。元データがどうしても XML でなくてはいけないのであれば、array ではなく JSON へ変換してから同様の処理を行うというのもありかと。(jQuery XML to JSON Pluginを使って、要素を作る)
(第三章 データを解析し表示しよう:JSONのデータを表示する)
jQuery の parseXML()メソッド を使って XML をパースし、データを一旦arrayに保存。後は、array 内の Math.floor(Math.random()*array.length) のインデックスにある値を呼び出してみるのはどうでしょう?
あえてツッコむとすれば、javascript を使っているのに何故 JSON を使わず XML を使うのかというところですね。元データがどうしても XML でなくてはいけないのであれば、array ではなく JSON へ変換してから同様の処理を行うというのもありかと。(jQuery XML to JSON Pluginを使って、要素を作る)
(第三章 データを解析し表示しよう:JSONのデータを表示する)
度重なるコメントすいません。なんとなく理解できてきました。自分のほうでテストしてみます。
大丈夫そうですか?
ぶっちゃけ、「jQuery XML to JSON Pluginを使って、要素を作る」にある3つめの四角の中の情報だけあれば十分です。要訳すると、
1)$.get('sample.xml', function(xml){}); でXMLファイルをリクエストする。
2)var json = $.xml2json(xml); で、取得したXMLをJSONへ変換。
3)後は、url = json.banners[Math.floor(Math.random()*banners.length)].bannerUrl; みたいな感じで、ランダムでURLが取得できるはずです。
頂いた案を試したのですが、
テストはOKでした。
3)がまだ理解できず、今調べております。
var params = location.href.split("?")[1];
params = params.split("&");
var ValId = "null";
for(var i = 0; i < params.length; i++) {
var tmp = params[i].split("=");
if(tmp[0] = "id"){
ValId = tmp[1];
}
}
$(function(){
$.get('sample.xml', function(xml){
var json = $.xml2json(xml);
var $bannerUrl=json.url[i].url;
var $link=json.link[i].link;
url = json.banners[Math.floor(Math.random()*banners.length)].bannerUrl;
$("#myfeed").append($(s));
}
}
});
});
今現在、jsはこんな形です。
ローテーションバナーをしようと思っているのですが、なんか違う感じがしたのですが
自分としても説明不足でごめんなさい
誤って質問終了にしておりました。
もし、回答いただけるならお願いします。
度重なるコメントすいません。なんとなく理解できてきました。自分のほうでテストしてみます。
2012/11/20 18:27:17大丈夫そうですか?
2012/11/21 11:38:07ぶっちゃけ、「jQuery XML to JSON Pluginを使って、要素を作る」にある3つめの四角の中の情報だけあれば十分です。要訳すると、
1)$.get('sample.xml', function(xml){}); でXMLファイルをリクエストする。
2)var json = $.xml2json(xml); で、取得したXMLをJSONへ変換。
3)後は、url = json.banners[Math.floor(Math.random()*banners.length)].bannerUrl; みたいな感じで、ランダムでURLが取得できるはずです。