JS
<?php
date_default_timezone_set('America/Los_Angeles');
$date = date('Gi', time());
?>
<script type="text/javascript">
$(function() {
$(".show_hide").click( function()
{
var locTime = <?php echo json_encode($date) ?>;
$.getJSON( "url_to_json", function(data) {
xr_mon_b_o = data.location.monday[0].b_o;
xr_mon_l_c = data.location.monday[0].l_c;
xr_mon_d_o = data.location.monday[0].d_o;
xr_mon_d_c = data.location.monday[0].d_c;
console.log("sucess1");
if (locTime < xr_mon_b_o){
console.log("sucess2");
$('.xr').hide("drop", { direction: "down" }, 400);
}
else if ( xr_mon_d_o < locTime > xr_mon_l_c){
console.log("sucess4");
$('.xr').hide("drop", { direction: "down" }, 400);
}
else if ( locTime > xr_mon_d_c){
console.log("sucess4");
$('.xr').hide("drop", { direction: "down" }, 400);
}
else {
$('.s_lo').show("drop", {
direction: "up"
}, 800);
}
});
}
);
});
JSON
{ "location":
{
"monday": [
{"b_o": 700},
{"l_c": 1400},
{"d_o": 1700},
{"d_c": 2100}
]
}
}
b = 朝食
l = 昼食
d = 夕食
o = オープン
c = 閉じる
私は、時間がelse if arugementに入る場所でこのスクリプトを機能させ、閉じた場所のdivをトリガーして、jqueryアクションを介して非表示にしようとしています。しかし、どういうわけか、このスクリプトのロジックは静かにうまく機能していないようです。1つのifでうまくいきましたが、さらに「else if」を追加すると、スクリプトが崩壊します。