Hi,
ZIELVORGABE:
per Klick ist ein Bild in einen vordefinierten Container meiner PHP-Datei nachzuladen.
Zusätzlich soll für die Dauer der Ladezeit ein Lade-GIF auf den Ladevorgang aufmerksam machen.
...das Ganze ohne Bibliotheken, nur php, javascript.
die Einleitung "per Klick" sagt glasklar, dass es um eine Nutzer-Interaktion geht, also eine clientseitige Aktion. Damit ist PHP komplett raus aus der Nummer, und wir beschränken uns auf Javascript und HTML/CSS.
...ist dafür ein XMLHttpRequest notwendig?
Nein, das wäre hier mit Elefanten auf Mücken geschissen. Du brauchst nur der src-Eigenschaft des img-Objekts den passenden Wert (URL) zuzuweisen. Falls das img-Element ursprünglich noch nicht existiert, kannst du es mit createElement() erzeugen und mit appendChild() ins Dokument einpflanzen - oder meinetwegen auch "oldschool" mit einer Zuweisung an innerHTML des gewünschten Containerelements. Das sind im Grunde ein, zwei Zeilen Javascript. Fertig. Alles weitere macht der Browser.
Der kümmert sich in aller Regel auch darum, die Verzögerung irgendwie zu signalisieren, etwa durch den berüchtigten Eieruhr-Cursor.
So long,
Martin