我有一个html按钮,我想用jquery禁用它,点击它之后10秒后我想启用它。
$('#test').click(function(){
$("#test").attr("disabled", true);
$('#test').html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});
我的计时器部分有问题。
我知道有类似setInterval(function() {}, 5000);
之类的东西,但这会一遍又一遍。
答案 0 :(得分:2)
您可以在间隔后使用setTimout启用按钮。
$('#test').click(function(){
$("#test").attr("disabled", true);
setTimout(function(){
$("#test").attr("disabled", false);
}, 10000);
$('#test').html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});
答案 1 :(得分:0)
我希望这会有所帮助。
$('#some-button').attr("disabled", "disabled");
setTimeout('enableButton()', 5000);
function enableButton(){
$('#some-button').removeAttr('disabled');
}
答案 2 :(得分:0)
您可以使用 setTimeout 功能:
$('#test').click(function(){
$("#test").attr("disabled", true);
$('#test').html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
setTimout(function(){
timeOutHit()
}, 10000);
});
function timeOutHit()
{
$("#test").attr("disabled", false);
}
答案 3 :(得分:0)
请参阅setTimeout
是您希望在特定时间段内使用的选项。
$('#test').click(function(){
$(this).prop("disabled", true);
setTimout(function(){
$(this).prop("disabled", false);
}, 10000);
$(this).html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});
但如果在这段时间内没有完成工作会怎么样呢。如果您使用的是ajax,则可以尝试使用ajaxComplete()
函数。
$('#test').click(function(){
$(this).prop("disabled", true);
$(document).ajaxComplete(function(){
$("#test").prop("disabled", false);
});
$(this).html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});