Script funktioniert nicht mit AHAH (innerHTML)

roltux

Grünschnabel
Hallo,

ich bin gerade dabei meiner HP ein neues Layout zu verpassen.
Auf meiner neuen Seite wird der Inhalt mittels AHAH (Script von dieser Seite ) in den Content Div eingebunden.

Dies funktioniert soweit wunderbar. Jetzt habe ich allerdings auf einer Seite, welche eingebunden wird, ein Javascript am laufen. Dieses Script funktioniert einwandfrei wenn die Seite alleine aufgerufen wird, wird die Seite jedoch über AHAH in den Content Div geladen, läuft das Script nicht mehr.

Auf der Seite, welche eingebunden wird, läuft folgendes Script:

Javascript-Teil:
Code:
function initNews() {
  if(document.getElementsByTagName) {
   divColl=document.getElementsByTagName("div");
   for(i=0;i<divColl.length;i++) {
    switch(divColl[i].className) {
     case "news":
      if(!initNews["activeNews"]) { 
       initNews["activeNews"]=divColl[i];
       
       }
      divColl[i].onmouseover=function() { 
          displayNews(this);
        }
      break;
     case "intro":
      divColl[i].style.display="block";
      break;
     case "text":
      divColl[i].style.display="none";
      break;
    }
   }
  }
  displayNews(initNews["activeNews"],true);
 }

 function displayNews(newsObj,ignoreOld) {
  if(!ignoreOld) {
   initNews["activeNews"].getElementsByTagName('div')[1].style.display='none';
   initNews["activeNews"].getElementsByTagName('div')[0].style.display='block';
   initNews["activeNews"]=newsObj;
   
  }
  initNews["activeNews"].getElementsByTagName('div')[0].style.display='none';
  initNews["activeNews"].getElementsByTagName('div')[1].style.display='block';
 }
 window.onload=initNews;
HTML-Teil (vereinfacht)
HTML:
<div class="news">
 <div class="intro">Kurztext 1</div>
 <div class="text">Langtext 1</div>
</div>

<div class="news">
 <div class="intro">Kurztext 2</div>
 <div class="text">Langtext 2</div>
</div>

<div class="news">
 <div class="intro">Kurztext 3</div>
 <div class="text">Langtext 3</div>
</div>
Hier läuft das Script.
Hier wird die Datei über AHAH eingebunden, das Script läuft nicht mehr (Der IE zeigt sogar gar nichts mehr an, mit der Fehlermeldung 'initNews.activeNews' ist Null oder
kein Objekt).

Es dreht sich um den Effekt in der mittleren Spalte.

Sorry, ich bin in Javascript leider nicht besonders fit.

vielen Dank vorab,
viele Grüße, Rolf
 
Dort, wo es nicht funktioniert, hast du 2 Aktionen für den onload-Event am Start...die erstere davon(in der Skript-Datei) wird durch den 2.(im body) überschrieben.

Vorschlag: Packe beides in den body:
Code:
<body onload="javascript:callAHAH('ueberuns.html', 'content', 'Bitte warten, der Seiteninhalt wird geladen', 'Geht nicht...');initNews();">
 

Neue Beiträge

Zurück