<?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) {
var isClosed = true;
for (var i = 0; i < data.location.monday.length || isClosed; i++) {
console.log("sucess1");
xr_mon= data.location.monday[i];
console.log("sucess2");
if (locTime >= xr_mon.kai && locTime < xr_mon.guan){
console.log("location is open!");
isClosed = false;
$('.xr').show("drop", { direction: "up" }, 400);
}
else {
console.log("location is closed");
$('.xr').hide("drop", {
direction: "down"
}, 800);
}
}
});
}
);
});
</script>
JSON代碼
{ "location":
{
"monday": [
{"kai": 700, "guan": 1400},
{"kai": 1700, "guan": 2100}
]
}
}
有麻煩一個數之後嘗試與此環序列。
即使isClosed滿足條件,我仍然不知道它爲什麼仍在循環。我錯過了我的代碼中的任何內容?
找到我的答案。
<?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) {
for (var i = 0; i < data.location.monday.length; i++) {
console.log("sucess1");
xr_mon= data.location.monday[i];
console.log("sucess2");
if (locTime >= xr_mon.kai && locTime < xr_mon.guan){
console.log("location is open!");
$('.xr').show("drop", { direction: "up" }, 400);
Break;
}
else {
console.log("location is closed");
$('.xr').hide("drop", {
direction: "down"
}, 800);
}
}
});
}
);
});
</script>
有什麼關於這是錯的? http://jsfiddle.net/a22CW/ –
我希望位置div(.xr)在開放時間內保持打開狀態。但這個腳本只會跳過第一個IF,並且總是將ELSE的結果返回給我。 – user2510532