Jan: Mac OS Safari Javascript

Beitrag lesen

Allerdings unter Windows FF und IE funktioniert die Seite.

Nur unzureichend. Die Firefox-Konsole meldet

Fehler: start ist not defined
Zeile: 514
Quelldatei: /script/navigation.js

//Bilder beschleunigen

function speedup(start, end, tick, timeout){
  if(step<start){
    step=start;
  }
  if(step<end){
    step=step+tick;
    setTimeout("speedup(start, end)", timeout);  // Fehler
  }
}


> >   
> > Roland  
> >   
>   
> Richtig, der Fehler ist mir gerade aufgefallen. Der rekursive aufruf sollte natürlich lauten:  
>   
>  ~~~javascript

//Bilder beschleunigen  

>  function speedup(start, end, tick, timeout){  
>    if(step<start){  
>      step=start;  
>    }  
>    if(step<end){  
>     step=step+tick;  
>    setTimeout("speedup(start, end, tick, timeout)", timeout);  // Fehler  
>   }  
>  }

Mal sehen, vielleicht war dies auch der Grund für den Safari Ausfall.

Dies war ein Missverständnis von setTimeout, welches anscheinend keine Funktionsvariablen im Aufruf akzeptiert wohl aber objekte, also habe ich folgendes getan:

  
  
function speedup(start, end, tick, timeout){  
  
 if(step<start){  
  step=start;}  
  
if(step<end){  
  step=step+tick;  
  
  var callback1 = function() {speedup(start, end, tick, timeout);};  
  
  setTimeout(callback1, timeout);  
 }  
  
}