Javascript ein - /ausblenden von Ebenen

Arbeite ich mit aus-und einblenden der divs in javascript, im Grunde möchte ich ein div, dann, wenn auf eine Schaltfläche geklickt verbergen, dass div-und andere anzeigen. Ich kann nicht ganz verstehen, die javascript aus hier ist, was ich habe, im moment, aber der zweite layer nicht zeigen, wenn ich auf ausblenden.

  <script language=javascript type='text/javascript'> 
    function hidediv() { 
    if (document.getElementById) { //DOM3 = IE5, NS6 
    document.getElementById('layer').style.visibility = 'hidden'; 
    document.getElementById('topbar').style.visibility = 'visisble';
    } 
    else { 
    if (document.layers) { //Netscape 4 
    document.layer.visibility = 'hidden'; 
    document.topbar.visibility = 'visible'; 

    } 
    else { //IE 4 
    document.all.layer.style.visibility = 'hidden'; 
    document.all.topbar.style.visibility = 'visible'; 
    } 
    } 
    }

    function showdiv() { 
    if (document.getElementById) { //DOM3 = IE5, NS6 
    document.getElementById('layer').style.visibility = 'visible'; 
 document.getElementById('topbar').style.visibility = 'hidden';
    } 
    else { 
    if (document.layers) { //Netscape 4 
    document.layer.visibility = 'visible'; 
document.topbar.visibility = 'hidden'; 
    } 
    else { //IE 4 
    document.all.layer.style.visibility = 'visible'; 
document.all.topbar.style.visibility = 'hidden';
    } 
    } 
    } 
    </script>

und css:

 #topbar {
    background-image: url(images/back.png);
background-repeat: repeat;
height: 30px;
margin-top: 20px;
visibility: hidden;
}

#show {
    float: right;
    padding-right: 40px;
    padding-top: 10px;
}

#hide {
    float: right;
    padding-right: 40px;
}

#layer {
background-image: url(images/back.png);
background-repeat: repeat;
padding-left: 20px;
padding-bottom:20px;
overflow: auto;
}

Verwendung von standard-html-links wie:

<a href="javascript:hidediv()">Hide</a>

Jede Hilfe würde geschätzt, prost!

BEARBEITEN

okay eingeschaltet, um etwas völlig neues, aber es scheint nicht zu zeigen, nachdem Sie verborgen

<script type="text/javascript">

$(function(){
$('#anzeigenausblenden').klicken Sie auf(Funktion(){
$('#layer').toggle();
$('#topbar').toggle();
});
});

und

<a href="javascript:void(0);" id="showhide">Show/Hide</a>

und

<div id="layer"></div>
  • Ich würde empfehlen Ihnen dringend, um jQuery verwenden zu vermeiden, die Notwendigkeit zu prüfen, browser etc. Es wird sicherlich den code verkürzen, so dass es übersichtlicher und einfacher für Sie zu Debuggen.
  • Leider, jquery ist nicht kompatibel mit dem Internet Explorer 4 entweder. Und ich würde vorschlagen nicht die Unterstützung solcher alten Browsern.
  • Ich kann dir nicht helfen mit deiner Frage, aber die BBC Glut-Bibliothek scheint zu sein, kompatibel mit den älteren Generationen von Browsern.
  • IE4? Der eine veröffentlicht im Jahr 1997 mit Win 98? Ich bin mir ziemlich sicher, dass niemand verwendet diese version nicht mehr.
  • ja iv änderte den code jetzt oben, aber mit kleine problem damit, es zu zeigen
  • jQuery kann "verkürzen" den code, aber es wird dramatisch hinzufügen, um die Seite zu laden, wenn er nicht mit 99.9% seiner Funktionalität.

InformationsquelleAutor Amy | 2011-03-16
Schreibe einen Kommentar