Avatar billede axkris Nybegynder
31. januar 2004 - 12:24 Der er 4 kommentarer og
1 løsning

Skal udbygges til Mozilla

Hej

Jeg har dette script, som jeg bruger til at gøre elementer synlige eller usynlige på min hjemmeside. Men scriptet skal udbygges, så det også virker i Mozilla. Kan du hjælpe mig hermed?

(Og kan du hjælpe mig med, at scriptet kan bruges i endnu flere browsere, så bliver jeg endnu mere glad :-D)

______________________________________________________

<script>
function changeVisibility(element, show) {

    var ns, ns6, ie;
    ns  = (document.layers) ? true : false;
    ns6 = (document.getElementById) ? true : false;
    ie  = (document.all) ? true : false;
     

      if( ns ) {
        if (show == "auto") {
              if (document.layers[element].visibility == "hide") {
                show = "yes"
            }
            else {
                  show = "no"
              }
        }
       
        if( show == "yes" ) {
            document.layers[element].visibility = "show";
        }
        else {
              document.layers[element].visibility = "hide";
        }
    }
   
    if( ie ) {
        if (show == "auto") {
            if (document.getElementById(element).style.display == "none") {
                show = "yes"
            }
            else {
                  show = "no"
              }
        }
       
        if (show == "yes") {
              document.getElementById(element).style.display = "block";
        }
        else {
            document.getElementById(element).style.display = "none";
        }
    }

    if( ns6 ) {
        if (show == "auto") {
              if (document.getElementById(element).style.visibility == "hidden") {
                show = "yes"
            }
            else {
                  show = "no"
              }
        }

          if (show == "yes") {
              document.getElementById(element).style.visibility = "visible";
          }
        else {
            document.getElementById(element).style.visibility = "hidden";
        }
    }
}
</script>
Avatar billede skovenborg Nybegynder
31. januar 2004 - 14:28 #1
det virker da for mig i mozilla... kan du evt. give et link eller et eksempel på hvor du kalder funktionen ?-)
Avatar billede axkris Nybegynder
31. januar 2004 - 14:31 #2
Prøv at se menuen i højre side af denne test-side:
http://www.selvet.dk/test
Avatar billede skovenborg Nybegynder
31. januar 2004 - 15:01 #3
et problem du har er jo at du ikke skifter display ud over i IE. Det vil samtidig sige at boksen aldrig bliver vist også selvom du skifter visibility til visible.

Jeg ville nok hellere gøre sådan her:
<script type="text/javascript">
function getElm(elmID)
{
        if (document.all) {
        return document.all[elmID];
    }
        if (document.layers) {
        return document.layers[elmID];
    }
    else return document.getElementById(elmID);
}
function changeVisibility(element, show) {
      if (show == "auto") { show = (getElm(element).style.display == "none") ? "show" : "hide";
      getElm(element).style.display = (show == "show") ? "block" : "none";
      }
}
</script>
Avatar billede axkris Nybegynder
31. januar 2004 - 15:53 #4
Jammmmmen, det virker jo så smukt. Tryk svar :-D

Er der browsere, som det ikke kan gøre i? Netscapes ect?
Avatar billede skovenborg Nybegynder
31. januar 2004 - 16:41 #5
så vidt jeg husker så understøttes display af de fleste nyere browsere. Desuden skjuler visibility:hidden blot objekterne - der vil stadig være en mellemrum der hvor de skulle have været. Så jeg vil nok mene at den bedste måde er blot at bruge display eller slet ikke at lave en sådan menu.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester