Loader.gif wo ist mein Fehler?

T

ThaHammer

Aktives Mitglied
Thread Starter
Dabei seit
01.06.2004
Beiträge
3.303
Reaktionspunkte
13
Ich habe dieses Ajax Script um vor dem laden einer Datei noch das Loader.gif anzuzeigen. Es startet rödelt ewig rum, und erst als der Downloadmanager aufgeht, öffnet mein Div. Und dann dreht sich mein Animgif innerhalb des Divs nicht. Rufe ich das Bild direkt auf, dreht es sich???

HTML:
<script type="text/javascript">
var Xobjekt = new Array (null, null, null, null, null, null, null, null, null, null);
var error = false;
var Xn = 0;

function newXobjekt( ) {
var X = null;
try { X = new XMLHttpRequest(); }
catch (error) {
    var msxmlhttp = new Array(
        'Msxml2.XMLHTTP.5.0',
        'Msxml2.XMLHTTP.4.0',
        'Msxml2.XMLHTTP.3.0',
        'Msxml2.XMLHTTP',
        'Microsoft.XMLHTTP');
    var i = 0;
    X = null;
    while ( !X && i < msxmlhttp.length ) {
        try { X = new ActiveXObject(msxmlhttp[i]); }
        catch (e) { X = null; i++; }
        }
    }
if (!X) error = true;
return X;
}

function startAjax(url,callback_function) {
if(!Xobjekt[Xn]) {
    Xobjekt[Xn] = newXobjekt();
} 
else {
    if(Xobjekt[Xn].readyState != 4)
        error = true;
    Xobjekt[Xn].abort();
}
Xobjekt[Xn].open('POST',url);
Xobjekt[Xn].onreadystatechange = new Function("var x = " + Xn + "; " +
  "if(Xobjekt[x].readyState != 4) return; " +
  "if(Xobjekt[x].status == 200) " +
    callback_function + "(Xobjekt[x].responseText); " +
  "else " +
    "error = true; ");
Xobjekt[Xn].send(null);
Xn++;
if (Xn >= Xobjekt.length) Xn = 0;
} 

function getInfo(text) {
document.getElementsByTagName('body')[0].innerHTML += "<div id='loader'>Loading<img src='bilder/ajax-loader.gif' alt='Loader.gif'></div>";
}

function describe(x) {
	var firstCell = x.parentNode.parentNode.childNodes[0];
	var secondCell = x.parentNode.parentNode.childNodes[1];
	if (!x.parentNode.parentNode.childNodes[0].className) {
		firstCell = x.parentNode.parentNode.childNodes[1];
		secondCell = x.parentNode.parentNode.childNodes[3];
	}
	var description;
	for (i = 0; i < x.parentNode.childNodes.length; i++) {
		if (x.parentNode.childNodes[i].className == "session_basic") {
			description = x.parentNode.childNodes[i];
			break;
		}
	}
	if (description.style.display == 'block') {
		description.style.display = 'none';
		//x.parentNode.parentNode.style.backgroundColor = "#000";

	} else {
		description.style.display = 'block';
		//x.parentNode.parentNode.style.backgroundColor = "#000";
		categoryColor = description.childNodes[description.childNodes.length - 1].className;
	}
}

</script>

Aufruf:

<a href="../Texte/Preisliste.pdf" onclick="startAjax('../Texte/Preisliste.pdf','getInfo');describe(this);">
 
Zurück
Oben Unten