【发布时间】:2023-03-18 12:30:01
【问题描述】:
我在 javascript 中设置了一个超时,设置为每 10 秒,这会重新加载页面的内容,我已经能够成功停止它,但是它会在最后一次,即它超时,我按下我的按钮停止它,但它会持续最后一次,直到 10 秒结束。
有没有办法在页面上取消这个预设的超时,所以一旦我点击按钮,它会立即停止超时,不管它是否设置为 10 秒。
loadTransferListTimer = setTimeout(function(){loadTransferList(reloadTime, txt, state);}, parseInt(reloadTime)*1000);
function enableSelect(value)
{
$.ajax({
url: "ajax_requests/enableSelect.php",
type: "POST",
dataType: "json",
data: {"enabled": value },
context: document.body}).done(function() {
if(value == "true")
{
window.clearTimeout('loadTransferListTimer');
document.getElementById('enable_select').className='big-red-button';
document.getElementById('enable_select').innerHTML='stop selected';
var div = document.createElement("div");
div.setAttribute('id', 'disable_select');
div.setAttribute('class', 'big-red-button');
div.innerHTML = 'Undo Selected';
div.onclick = (function(){enableSelect("false");});
$('.big-button-wrapper').append(div);
}
else{
document.getElementById('enable_select').className='big-select-button';
document.getElementById('enable_select').innerHTML='enable select';
$('#disable_select').remove();
document.getElementById('enable_select').onclick = (function(){enableSelect("true");});
}
});
}
干杯
【问题讨论】:
-
请出示您的代码。
-
window.clearTimeout(loadTransferListTimer);没有引号,也许 -
非常感谢,我认为这很愚蠢 :) 删除了引号,现在可以使用了。
标签: javascript jquery timeout