Dienstag, 27. März 2012

Javascript Wait + Counter

Javascript-Wait-Funktion mit Counter
Mit dieser Funktion wird nach n Sekunden eine mitgegebene Funktion aufgerufen. Zudem wird an der Stelle, an der diese Wait-Funktion gestartet wird ein Counter ausgegeben.


Funktion im Header:
<script type="text/javascript">

var maeckiWait = new function(){
 
 var iSec = 0;
 var func = null;
 
 this.wait = function(){
  iSec--;

  document.getElementById('maeckiWaitSec').innerHTML = iSec;
  
  if(iSec <= 0){
   if(func){
    func();
   }
  }else{
   window.setTimeout(function(me){
    return function(){
     me.wait();
    }
   }(this),1000);
  }
 };
 
 this.start = function(sec,fnc){

  document.write('<span id="maeckiWaitSec"></span>');
  
  iSec = sec+1;
  func = fnc;
  
  this.wait();
 };
}
</script>


Aufruf an der gewünschten Stelle im Body:
<script type="text/javascript">
maeckiWait.start(2,function(){
 alert("Hello World");
});
</script>