1

私はhtmlボタンを持っています、それがクリックされた後、そして10秒のように私はそれを有効にしたいので、jqueryでそれを無効にしたいです。

$('#test').click(function(){
     $("#test").attr("disabled", true);
     $('#test').html('Bitte warten..<img src="<?=CDN('/icons/loading/loading5.gif')?>" />');
});

タイマー部分に問題があります。私はそのようなものがあることを知っていますがsetInterval(function() {}, 5000);、これは何度も繰り返されます。

4

4 に答える 4

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')?>" />');
});
于 2013-03-25T07:30:48.493 に答える
0

これがお役に立てば幸いです。

$('#some-button').attr("disabled", "disabled");
setTimeout('enableButton()', 5000);

function enableButton(){
   $('#some-button').removeAttr('disabled');
}
于 2013-03-25T07:38:21.110 に答える
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);
}
于 2013-03-25T07:43:25.540 に答える
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')?>" />');
});
于 2013-03-25T07:45:20.860 に答える