- PR -

Weather Hacks

1
投稿者投稿内容
おっつ
常連さん
会議室デビュー日: 2004/11/04
投稿数: 22
投稿日時: 2006-12-28 10:43
ここに書き込んでいいのかイマイチ悩みましたが書き込んじゃいました。
今、livedoorのWeather Hacksに挑戦しています。JavaScriptに関してもまるっきり初心者で色々なHPを調べながら少しずつ挑戦しています。で、とりあえずはなんとかかんとか天気予報が表示されました。しかしどう頑張っても一日分しか表示できません。
一日分がうまく表示されたので、同じようにその部分をコピーして二つ並べただけなんでそこが悪いとは思うのですがイマイチわかりません。どうやったかと言うと、

<TABLE border="1">
<TBODY>
<TR>
<TD><div>今日:<span id="id_result1"></span></div>
<div id='searching' style='display:none'>now searching...</div>

<script type="text/javascript">
var city = '11';
var day = 'today';
var name = 'lwws1';
var proxy = 'http://app.drk7.jp/xml2json/';


var lwws1 = {};
lwws1.init = function() {
var script = document.createElement('script');
script.charset = 'UTF-8';
script.src = proxy + 'var=' + this.name + '&url=' +
escape('http://weather.livedoor.com/forecast/webservice/rest/v1?city=' + this.city + '&day=' + this.day);
document.body.appendChild(script);
}

lwws1.onload = function(data){
var d = document.getElementById('id_result1');
d.innerHTML = data["location"]["pref"] +' '+
data["location"]["city"] +' '+
data["telop"] +' '+
'<img src="' + data["image"]["url"] + '"><br>'+
data["description"];
}
var old = window.onload;
window.onload = (typeof old != 'function') ?
lwws1.init : function(e) { old(e); return lwws1.init(e); };
</script></TD>
</TR>
<TR>
<TD><div>明日:<span id="id_result2"></span></div>
<div id='searching' style='display:none'>now searching...</div>

<script type="text/javascript">
var city = '11';
var day = 'tomorrow';
var name = 'lwws2';
var proxy = 'http://app.drk7.jp/xml2json/';


var lwws2 = {};
lwws2.init = function() {
var script = document.createElement('script');
script.charset = 'UTF-8';
script.src = proxy + 'var=' + this.name + '&url=' +
escape('http://weather.livedoor.com/forecast/webservice/rest/v1?city=' + this.city + '&day=' + this.day);
document.body.appendChild(script);
}

lwws2.onload = function(data2){
var d = document.getElementById('id_result2');
d.innerHTML = data2["location"]["pref"] +' '+
data2["location"]["city"] +' '+
data2["telop"] +' '+
'<img src="' + data2["image"]["url"] + '"><br>'+
data2["description"];
}
var old = window.onload;
window.onload = (typeof old != 'function') ?
lwws2.init : function(e2) { old(e2); return lwws2.init(e2); };
</script>
</TD>
</TR>
</TBODY>
</TABLE>

ってな感じで本当に二つ並べただけです。でも表示されるのは後者の方だけなんです。想像するに最後のonloadの部分が悪い気はするんですが・・・・
1

スキルアップ/キャリアアップ(JOB@IT)