Stefan: Bereiche ein- bzw. ausbledenen

Hallo,

ich versuche nun schon seid einiger Zeit folgendes Problem zu lösen:

Ich möchte mithilfe einer JavaScript Funktion einben bestimmten ereich der Seite ein- bzw. ausblenden. Hierfür benutze ich folgende JavaScript Funktion:

Für das Einblenden:
function togglePlus(id, name1, name2)
{
 document.getElementById(id).style.display='inline';
 document.getElementsByName(name1)[0].style.display='none';
 document.getElementsByName(name2)[0].style.display='inline';
}

Für das Ausblenden:
function toggleMinus(id, name1, name2)
{
 document.getElementById(id).style.display='none';
 document.getElementsByName(name2)[0].style.display='inline';
 document.getElementsByName(name1)[0].style.display='none';

}

Mein HTML Code sieht folgendermaßen aus:

Für das Einblenden:
 <a name="toggle_plus" href="#" onclick="javascript:togglePlus('ajax_request_adding_fav','toggle_plus','toggle_minus')">
 <img border="0" src="/images/icons/toggle_plus.gif"></a>

Für das Ausblenden:
<a name="toggle_minus" style="display:none" href="#" onclick="javascript:toggleMinus('ajax_request_adding_fav', 'toggle_minus', 'toggle_plus')">
 <img border="0" src="/images/icons/toggle_minus.gif"></a>

So jetzt kommt der Merkwürdige Teil der geschichte... Wenn ich jetzt auf Plus klicke fährt der gewünschte bereich aus. Wenn ich aber Minus drücke, macht Mozilla Firefox eine Art Seiten Reload. Dadurch wird leider der laufende Film (Im Flashplayer) von vorne gestartet. Im IE hingegen funktioniert es wie gewünscht.

Hat jemand eine Idee, woran das liegt? Danke schonmal im vorraus für Antworten

  1. Sorry für das Doppelposting... aber ich habe eine wichtige Information vergessen...

    Dieser Fehler bei Mozilla Firefox tritt erst auf, nachdem der Ein- bzw. Auszublendene DIV-Container via AJAX aktualisiert wurde.

  2. Hallo,

    <a name="toggle_minus" style="display:none" href="#" onclick="javascript:toggleMinus('ajax_request_adding_fav', 'toggle_minus', 'toggle_plus')">
    <img border="0" src="/images/icons/toggle_minus.gif"></a>

    Wenn ich aber Minus drücke, macht Mozilla Firefox eine Art Seiten Reload.

    probiere es mal mit einem "return false;" nach dem Aufruf von toggle(). Möglicherweise möchte der Browser Dein href-Ziel auch noch ansteuern, deshalb das Neuladen der Seite.
    Die javascript:-Einleitung ist beim onClick-Attribut übrigens überflüssig.

    Gruß, Hannes.

    1. probiere es mal mit einem "return false;" nach dem Aufruf von toggle(). Möglicherweise möchte der Browser Dein href-Ziel auch noch ansteuern, deshalb das Neuladen der Seite.

      Das funktioniert leider auch nicht. Hast du oder jemand anders noch eine andere Idee?

      Die javascript:-Einleitung ist beim onClick-Attribut übrigens überflüssig.

      Habe ich entfernt. Das war noch von dem als ich probiert habe das bei href einzutragen, da braucht man ja das javascript:

  3. Für das Einblenden:
    <a name="toggle_plus" href="#" onclick="javascript:togglePlus('ajax_request_adding_fav','toggle_plus','toggle_minus')">
    <img border="0" src="/images/icons/toggle_plus.gif"></a>

    ändere das in
    <a name="toggle_plus" href="#" onclick = "togglePlus('ajax_request_adding_fav','toggle_plus','toggle_minus'); return false"><img border="0" src="/images/icons/toggle_plus.gif" alt=""></a>

    Für das Ausblenden:

    entsprechend

    1. Funktioniert leider nicht, das komische ist, das passiert auch nur beim einklappen, beim ausklappen geht es einwandfrei. Und es SCHEINT nur zu passieren, wenn sich ein Formular in dem DIV-Container befindet.

  4. Mahlzeit,

    Für das Einblenden:
    <a name="toggle_plus" href="#" onclick="javascript:togglePlus('ajax_request_adding_fav','toggle_plus','toggle_minus')">
    <img border="0" src="/images/icons/toggle_plus.gif"></a>

    Mal ne Frage: wieso benutzt Du ein <a>-Tag - schließlich nutzt Du dessen originäre Aufgabe (nämlich das Setzen eines Links) überhaupt nicht? Wieso verpasst Du nicht dem <img>-Tag einfach einen "OnClick"-Handler und gut ist?

    So käme auch kein Browser in Versuchung, die Seite neu zu laden ...

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|