Announcement

Collapse
No announcement yet.

Blöcke per JS ausblenden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Blöcke per JS ausblenden

    Hallo,

    ich habe eine HTML Datei die sehr viele Tabellen enthält. Die Tabellen sind jeweils von einem DIV Block umgeben der immer entweder die id "true" oder "false" hat. Per folgendem Script:

    Code:
    function visible()
    {document.getElementById('true').style.visibility = 'visible';}
    
    function hide()
    {document.getElementById('true').style.visibility = 'hidden';}
    möchte ich alle true Blöcke ausblenden. Zwei Probleme treten dabei auf:

    - Es wird immer nur der erste DIV Block mit der id "true" ausgeblendet und die anderen bleiben unbeeinflusst

    - Die darunterliegenden Tabellen "rutschen" auch nicht hoch sondern es verbleibt ein leerer Platz an der Ausblendestelle.

    Über Vorschläge wäre ich sehr dankbar.

    Viele Grüße

  • #2
    Hallo,

    zuerst solltest du dir über die Verwendung des Universalattributes "id" eines HTML-Tags im Klaren werden. ID ist ein:
    ...dateiweit eindeutiger Bezeichnername für ein Element - wenn Sie Elemente damit auszeichnen, sollten Sie keinen id-Namen innerhalb einer HTML-Datei mehr als einmal vergeben.
    Dein Vorhaben ist also schon im Ansatz zum Scheitern verurteilt.

    Die css-Eigenschaft visibility hat - wie der Name schon sagt - Einfluss auf die Sichtbarkeit eines Elementes, nicht jedoch auf seinen Platzbedarf innerhalb des Dokuments. Ob ein Element dagegen im Textflus oder als Block angezeigt wird oder "einfach nicht da ist", wird dagegen über die Eigenschaft display festgelegt.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Okay, danke schonmal soweit für die Hilfe
      Werde also wohl meine ID´s eindeutig vergeben müssen. Mal sehen wie ich das bei der XSL Transformation bewerksteligen kann (Die Transformation nutze ich um die HTML zu erzeugen)...

      Viele Grüße

      Comment


      • #4
        Moin,

        hab gerade selber nen Thread mit folgendem Code eröffnet, weil er nich unter FF geht, aber das sollte doch so ungefähr das sein was du machen willst oder. Vielleicht hilfts dir ja wieter.
        Schaus dir im IE an. geht ja wie gesagt noch nicht im FF.

        Code:
        <html>
        <head>
        <title>Frequently Asked Questions</title>
        
        <style type="text/css">
        .sichtbar{}
        .unsichtbar{display: none;}
        </style>
        
        <script language="JavaScript">
        function navigation(x){
        var aktuell = x;
        
        if(document.getElementById("Untermenue" + aktuell).className == 'unsichtbar'){
        document.getElementById("Untermenue" + aktuell).className='sichtbar';
        }
        else
        if(document.getElementById("Untermenue" + aktuell).className == 'sichtbar'){
        document.getElementById("Untermenue" + aktuell).className='unsichtbar';
        }
        }
        </script>
        
        </head>
        <body>
        
        <ul class="navi">
        
        <li class="navi22" onClick="navigation(1)"><strong>Klicke auf diesen Text? Im IE gehts, im FF nicht</strong><br>
        <font id="Untermenue1" class="unsichtbar">
                 <ul>
                         <li>bla</li>
                         <li>blub</li>
                         <li>bla bla</li>
                 </ul>
        </font>
        </li>
        
        <li  class="navi22" onClick="navigation(2)"><strong>Hier drauf klicken? </strong><br>
        <font id="Untermenue2" class="unsichtbar">Hier klappts aber oben nicht
        </font>
        </li>
        
        </ul>
        
        </body>
        </html>

        Comment

        Working...
        X