innerHTML Änderung, DOM
jan
- javascript
Hallo,
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?
// 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;
}
Wieso funktioniert da so nicht?
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?
Wenn du keine Fehlermeldung erhälst, ist der Code i.O. und dein Problem liegt an etwas anderem.
Struppi.
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?
Wenn du keine Fehlermeldung erhälst, ist der Code i.O. und dein Problem liegt an etwas anderem.
Struppi.
Hallo,
Eine Fehlermeldung gab es im firebug oder in der Fehlerkonsole nicht.
ich habe es jetzt gelöst, indem ich das Objekt "Progress nicht dem Div sondern dem Objekt "ImagePreloader" angehängt habe. Weiß aber nicht genau, wieso es jetzt funktioniert...
function ImagePreloader(images, callback)
{
// Hide the content until all is preloaded
doc.getElementById("theDiv").style.display="inline";
// store the call-back
this.callback = callback;
//geaenderter Aufruf von preload_progress()
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]);
}