我有一个任务是制作显示服务器时间(ajax)的网页,并可以选择增加/减少小时数。它将是php + js。 我做了下一个js:
$(document).ready(function() {
function update() {
$.ajax({
type: 'POST',
url: 'clocks.php',
timeout: 1000,
success: function(data) {
$("#clock_place").html(data);
window.setTimeout(update, 1000);
}
});
}
update();
});
下一个php脚本:
<?php
$TIME = date('d/m/Y h:i:s');
switch($_POST["increment"]){
case "-":
$TIME=strtotime("-1 hour", strtotime($TIME));
echo date('d/m/Y h:i:s', $TIME);
break;
case "+":
$TIME=strtotime("+1 hour", strtotime($TIME));
echo date('d/m/Y h:i:s', $TIME);
break;
default:
echo $TIME;
}
?>
现在我想听按钮&#34; +&#34;和&#34; - &#34;像这样onclick:
$("#send1").click(function(){
var param = {
increment: $("#send1").val(),
}
$.post("clocks.php", param);
});
$("#send2").click(function(){
var param = {
increment: $("#send2").val(),
}
$.post("clocks.php", param);
});
我该怎么做?我试过了,但我想我不能打断那些更新时间的js。 任何建议!
答案 0 :(得分:0)
你需要使用某种记忆,我建议localStorage or sessionStorage(sessionStorage更有可能达到你的目的)。将增量/减量存储到一个变量(可以将hoursCounter,你继续被称为增量)调用到sessionStorage并将其发送到ajax。重要的部分是向AJAX发送增值的价值,并将价值存入JS或隐藏HTML 。
试试:
$(document).ready(function() {
function update() {
$.ajax({
type: 'POST',
url: 'clocks.php',
data: {
increment: sessionStorage.getItem('increment')
},
timeout: 1000,
success: function(data) {
$("#clock_place").html(data);
window.setTimeout(update, 1000);
}
});
}
update();
});
//Your routine it's so fast that don't need to trigger when click, just wait the next call from timeout routine!
$("#send1, #send2").click(function(){
sessionStorage.setItem('increment', $(this).val());
});