XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Javascript & Ajax (http://xhtmlforum.de/forumdisplay.php?f=83)
-   -   innerHTML Änderung, DOM (http://xhtmlforum.de/showthread.php?t=48830)

Kurtk 11.11.2007 12:57

innerHTML Änderung, DOM
 
Hallo noch einmal,

hier gleich meine zweite Nachfrage:

Ich habe eine kleine "Animation" geschrieben, die während eines Preloadingvorgangs anzeigen soll das gearbeitet wird. Also wird der String, der in innerHTML steht, imer einfach um einen Punkt erweitert.

Ich rufe die "Animation" mit setInterval als Objektvaraible auf, es funktioniert in Safari 2.0 aber nicht im IE7 oder im FF. Was könnte das Problem sein?

Code:

// Animation im Preload Div       
function preload_progress()
{
preload_text += '.';
window.document.getElementById("theDiv").innerHTML=preload_text ;
       
}
       
function ImagePreloader(images, callback)

{
        // Hide the content until all is preloaded
        document.getElementById("theDiv").style.display="inline";
        //document.getElementById("page").style.display="none";
  // store the call-back
 
 
//Aufruf der "Animation"  window.document.getElementById("theDiv").progress=setInterval("preload_progress()", 500);
  this.callback = callback;


  // initialize internal state.
  this.nLoaded = 0;
  this.nProcessed = 0;
  this.aImages = new Array;

}


protonenbeschleuniger 11.11.2007 18:26

Was sagt die Fehlerkonsole?

Kurtk 11.11.2007 19:11

Firebug sagt nichts:( .

protonenbeschleuniger 11.11.2007 19:30

und die Fehlerkonsole?

Kurtk 11.11.2007 19:43

Auch nichts... Unter Umständen ist der DOM Aufruf falsch oder nicht DOM 3 gemäss?

protonenbeschleuniger 11.11.2007 19:55

Nee, der Code ist völlig in Ordnung.

Kurtk 11.11.2007 21:02

Ich habe es jetzt folgendermaßen gelöst:

Code:

var preload_text ='Preloading';
var doc = window.document;

function preload_progress()
{
preload_text += '.';
window.document.getElementById("theDiv").innerHTML=preload_text ;
       
}

function ImagePreloader(images, callback)

{
       
        // Hide the content until all is preloaded
        doc.getElementById("theDiv").style.display="inline";

  // store the call-back
  this.callback = callback;
  this.progress=setInterval("preload_progress()", 500);


  // initialize internal state.
  this.nLoaded = 0;
  this.nProcessed = 0;
  this.aImages = new Array();


  // record the number of images.
  this.nImages = images.length;


  // for each image, call preload()
  for ( var i = 0; i < images.length; i++ )
      this.preload(images[i]);
}


protonenbeschleuniger 11.11.2007 21:26

PHP-Code:

//Aufruf der "Animation"  window.document.getElementById("theDiv").progress=setInterval("preload_progress()", 500); 

Was mir entgangen ist, du hast den Aufruf hier auskommentiert, deshalb funktioniert er nicht, warum er aber dann im Safari läuft ist mir ein Rätsel.


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:14 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023