我有一个按钮可以按住以调整数字,该数字将更新数据库中的值。
我担心如果我将AJAX
更新放在基本形式的位置,它将尝试按照增量更新多次,这将非常低效。
What is an efficient way to only run the ajax update to the database once the user has not updated the number for x seconds?
JS / JQ
$('#btn').mousehold( function() {
num = $('#1').text();
num = parseFloat(num);
num = num += 1;
$('#1').text(num);
function updateDatabase() {
//AJAX update here
}
});
答案 0 :(得分:1)
是的,它会提出很多要求。
我建议你使用setTimeout。每次清除timer
。并且,如果它没有清除1秒,它就会运行AJAX请求。
var timer;
$('#btn').mousehold( function() {
var num = $('#1').text();
num = parseFloat(num) + 1;
$('#1').text(num);
clearTimeout(timer);
timer = setTimeout(function(){
//AJAX REQUEST HERE
},1000);
});