Linuchs: Was macht clearInterval() ?

Beitrag lesen

Doch, geht. Vermutlich hast Du irgendwo im Gesamtpaket einen logischen Fehler.

Scheint so, aber ich erkenne ihn nicht. Der alert (opacity); zeigt steigende Werte wie 2.95... 10.95000000000002, 14.300000000000068, ...

Dabei dürfte der max. 1.05 werden, weil er dann auf 0.0 zurückgesetzt wird. Der entspr. Vergleich wird nicht erkannt.

var opacity = 0.0;  
var opacity_timer, nxt_timer;  
function einblenden () {  
  opacity = opacity +0.05;  
  document.getElementById( "panorama_akt" ).style.opacity = opacity;  
  if ( opacity > 1.0 ) {  
//  window.clearInterval( opacity_timer );  
    opacity = 0.0;  
  }  
}  
function nxtBild () {  
  bildzaehler++;  
  if ( typeof arr_panorama[bildzaehler] == "undefined" || arr_panorama[bildzaehler][1] == "" ) bildzaehler = 0;  
  document.getElementById( "panorama_sic" ).src = document.getElementById( "panorama_akt" ).src; // Bild sichern  
  // neues Bild  
  alert (opacity);  
  document.getElementById( "panorama_akt" ).style.opacity = opacity;  
  document.getElementById( "panorama_akt" ).src = arr_panorama[bildzaehler][1];  
  document.getElementById( "panorama_text" ).innerHTML = arr_panorama[bildzaehler][0];  
//opacity_timer = window.setInterval( "einblenden()", 100 );  
}  
nxt_timer = window.setInterval( "nxtBild ()",  8000 );  
opacity_timer = window.setInterval( "einblenden()", 100 );