jqueryとjson配列を使用して、現在の月面と日の出/時刻をWebサイトに表示しています。これは日の出/日のためにうまく動作しますが、私は問題に遭遇したムーンフェイズのために働きます。Jqueryを使用してAPIからJSONデータを表示 - 未定義の表示
データが要求された日に "closestphase"が指定されている場合、他の2つのフィールド、 "currentphase"と "fracillum"が削除されます。 http://api.usno.navy.mil/rstt/oneday?date=today&coords=54.97N,1.61W&tz=0
が、このデータから省略されています: http://api.usno.navy.mil/rstt/oneday?date=01/28/2017&coords=54.97N,1.61W&tz=0
これは、以下のリンクがfracillumと現在のフェーズを示したとえば...私は相または現在の照明月額4回を表示することはできませんを意味し、私はCURPHASEとfracillumがclostestphase未定義とであれば言って以下のコードを書いた
「ニュームーン」や「満月」はその後、それぞれ「0%または 『100%』のfracillumが表示される。
誰かが私が間違っていることを特定できますか?
$(document).ready(function(){
$.get("http://api.usno.navy.mil/rstt/oneday?date=01/28/2017&coords=54.97N,1.61W&tz=0", function(data){
checkPhase(data);
});
});
$(document).ready(function(){
$("#suntimes").click(function(){
$("#sun").toggle("slide");
});
});
$(document).ready(function(){
$("#moontimes").click(function(){
$("#moon").toggle("slide");
});
});
$(document).ready(function(){
$("#Mobilesuntimes").click(function(){
$("#Mobilesun").slideToggle();
});
});
$(document).ready(function(){
$("#Mobilemoontimes").click(function(){
$("#Mobilemoon").slideToggle();
});
});
function checkPhase(data){
if(data.curphase == "undefined" && data.closestphase.phase == "New Moon"){data.fracillum == "0%";}
else if(data.curphase == "undefined" && data.closestphase.phase == "Full Moon")
{data.fracillum == "100%";}
$("#sun").append("<p><b>Newcastle, UK</b><br />Sunrise: " + data.sundata[1].time + " AM<br />Sunset: " + data.sundata[3].time + " PM</p>");
$("#moon").append("<p><b>Newcastle, UK</b><br />Percentage Illuminated: " + data.fracillum + "<br />Moon Phase: " + data.curphase + "</p>");
$("#Mobilesun").append("<p><b>Newcastle, UK</b><br />Sunrise: " + data.sundata[1].time + " AM<br />Sunset: " + data.sundata[3].time + " PM</p>");
$("#Mobilemoon").append("<p><b>Newcastle, UK</b><br />Percentage Illuminated: " + data.fracillum + "<br />Moon Phase: " + data.curphase + "</p>"
);
}
私はこれを使いました。 –