【发布时间】:2018-06-30 12:10:44
【问题描述】:
我有一个服务器时间,点击 + 会增加,点击减号会减少。我打开第一个选项卡,然后打开第二个选项卡。在第二个选项卡中,我更改时间(+ 或 -)。在第一个选项卡中,小时随机闪烁。我的错误是什么?
index.php
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<div id="timer"></div>
<button id="plus">+</button>
<button id="minus">-</button>
<script>
jQuery(document).ready(function ($) {
var counter = 0;
$('#plus').on('click', function (event) {
counter++;
localStorage.setItem('counter', counter);
update();
});
$('#minus').on('click', function (event) {
counter--;
localStorage.setItem('counter', counter);
update();
});
function update() {
$.ajax({
url: 'datetime.php',
timeout: 1000,
type: 'POST',
data: 'counter=' + counter,
success: function (response) {
if (localStorage.getItem('response') !== null) {
$('#timer').html(localStorage.getItem('response'));
localStorage.setItem('response', response);
}
window.setTimeout(update, 1000);
}
});
}
update();
});
</script>
日期时间.php
<?php
$counter = $_POST['counter'] ?? 0;
echo date('d/m/Y h:i:s', time() + (int)$counter * 3600);
?>
【问题讨论】:
-
您是否需要将计数器发布到服务器,因为您已经可以这样做而无需发布。
标签: javascript php jquery ajax local-storage