2012-04-11 2 views
0

In der linken Menüleiste habe ich zwei Links über und Nachrichten beim Klicken auf Nachrichten es holt Benutzer Nachricht Seite vom Server es funktioniert ordnungsgemäß. Ich möchte ein Bild als Loading-Symbol für den Benutzer zeigen, wo ich diesen Code habe ich nicht bekommen. ich folgenden AJAX-Code verwenden Nachricht Seite vom ServerWo und wie man Ajax lädt Bild

function getMessages(id) 
    { 
     var xmlhttp; 
     if (window.XMLHttpRequest) 
     { 
      xmlhttp=new XMLHttpRequest(); 
     } 
     else 
     { 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     if (typeof xmlhttp == "undefined") 
     { 
      ContentDiv.innerHTML="<h1>XMLHttp cannot be created!</h1>"; 
     } 
     else{ 

      var query='message?id='+id; 
      xmlhttp.open("GET",query,true); 
      xmlhttp.onreadystatechange=function() 
      { 
       if (xmlhttp.readyState==4 && xmlhttp.status==200) 
       { 
        document.getElementById("profile-detail").innerHTML=xmlhttp.responseText; 
       } 
      } 
      xmlhttp.send(); 
     } 
    } 
+0

Rufen Sie die Funktion die Arbeit machen wird, unsere Lade Nachricht zeigt, wenn Sie gerade in Ihrer Funktion erhalten. Und eine Funktion, die diese Nachricht in der onreadystatechange-Handler-Funktion versteckt. – sleepwalker

+0

Nur neugierig: Haben Sie keine Javascript-Bibliothek wie Jquery? – ErJab

+0

Keine Ahnung von Jquery – xrcwrn

Antwort

1

1 Angenommen, Sie in Ihnen Seite

<img id="ajaxImageCtrl" src="path/ajax.gif" /> 

2 Diese Linie gerade nach var xmlhttp;

document.getElementById("ajaxImageCtrl").style.display = 'block' 

3 Put haben zu holen diese Linie

document.getElementById("ajaxImageCtrl").style.display = 'none'; 

nach

document.getElementById("profile-detail").innerHTML=xmlhttp.responseText; 

Ich hoffe, das