daniel2: scriptacolous: Div ein- und wieder ausfaden lassen

Hallo,

ich befülle ein Div ("feed") per Ajax mit Daten. Jedes mal, wenn der Inhalt dieser Box aktualisiert wird, soll ein scriptaculous-Effekt herhalten: Das Div soll zunächst aus- und nach dem Laden des Inhalts wieder eingeblendet werden.

Die entsprechende Funktion, die das Div befüllt sieht so aus:

[PHP]/* XML-Feed auf der Seite darstellen */
function cb_show_feed() {
 if(XMLHTTP.readyState == 4) {
  new Effect.Fade('feed'); // Div ausblenden
  var data = XMLHTTP.responseText; // Ajax Daten holen
  document.getElementById('feed').innerHTML = data; // Div befüllen      new Effect.Appear('feed'); // Div wieder einblenden
 }
} [/PHP]

Leider funktioniert das in keinster Weise: Das Div wird zwar schön eingeblendet, verschwindet aber sofort danach wieder. Ich habe keine Ahnung, woran das liegen könnte - die scriptaculous Demo und Doku gibt herzlich wenig dazu her...

Hat jemand eine Idee?

Grüße,
Daniel

  1. hi,

    document.getElementById('feed').innerHTML = data; // Div befüllen      new Effect.Appear('feed'); // Div wieder einblenden

    Leider funktioniert das in keinster Weise: Das Div wird zwar schön eingeblendet, verschwindet aber sofort danach wieder.

    Wenn du es wirklich _so_ geschrieben hast, wie das hier (bei entsprechender Zeilenbreite) dargestellt wird, ist das kein Wunder:
    // leitet einen Kommentar für den Rest der Zeile ein, und es sieht so aus, als ob du die nächste Anweisung new Effect.Appear() in der selben Zeile stehen hättest - sie ist damit also Teil des Kommentars, wird nicht ausgeführt.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      das ist beim Posten schiefgegangen, sorry. In meinem Code steht das natürlich NICHT in einer Zeile...

      Any Ideas?

      1. hi,

        Any Ideas?

        Wenn es erst kurz erscheint, und dann wieder verschwindet, dann schau nach, wo danach die Ausblende-Funktion noch mal aufgerufen wird.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Wenn es erst kurz erscheint, und dann wieder verschwindet, dann schau nach, wo danach die Ausblende-Funktion noch mal aufgerufen wird.

          Die Funktionen werden ausschließlich in o.g. Funktion verwendet. Es gibt definitiv nur einen Aufruf... (jeweils für das Ein- und Ausblenden)