Avatar billede axkris Nybegynder
18. april 2003 - 16:48 Der er 10 kommentarer og
2 løsninger

Vis/skjul element virker ikke

Hej

Jeg har følgende script, som overhovedet ikke gider at skifte mellem vis og skjul - hvorfor?
__________________________________________

<div name="visUpload1" id="visUpload1" style="display:None; position:relative;">
.
.
.
</div>

<script>
changeVisibility("visUpload1", "no");


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

function changeVisibility(element, show){
     
      if( ns ){
        if( show == "yes" ){
          document.layers[element].visibility = "show";
        } else {
          document.layers[element].visibility = "hide";
        }
    } else if( ie ){
        if( show == "yes" ){
          element.style.visibility = "visible";
        } else {
          element.style.visibility = "hidden";
        }
        else if( ns6 ){
              if( show == "yes" {
          document.getElementById(element).style.visibility = "visible";
        } else {
          document.getElementById(element).style.visibility = "hidden";
        }
    }
}
</script>
Avatar billede axkris Nybegynder
18. april 2003 - 16:50 #1
Det skal lige tilføjes, at det hverken virker, hvis jeg kører "changeVisibility("visUpload1", "no");" (på synlig div) eller om jeg kører "changeVisibility("visUpload1", "yes");" på en skjult div.
Avatar billede nikolajdu Nybegynder
18. april 2003 - 16:51 #2
Du kalder funktionen før den er defineret...
Avatar billede axkris Nybegynder
18. april 2003 - 16:52 #3
Ja, ovenstående gør jeg, men det er bare forsimplet kode... i i virkeligheden gør jeg ikke.
Avatar billede axkris Nybegynder
18. april 2003 - 16:56 #4
Hvis jeg bare skriver:
<div name="visUpload1" id="visUpload1">

Så virker det, men jeg vil så gerne at placeringen skal være relativ... hjælp :)
Avatar billede nikolajdu Nybegynder
18. april 2003 - 16:57 #5
<script>



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

function changeVisibility(element, show){
     
      if( ns ){
        if( show == "yes" ){
          document.layers[element].visibility = "show";
        } else {
          document.layers[element].visibility = "hide";
        }
    } else if( ie ){
            if( show == "yes" ){
                document.all[element].style.visibility = "visible";
              } else {
                  document.all[element].style.visibility = "hidden";
            }
    }else if( ns6){
        if( show == "yes"){
            document.getElementById(element).style.visibility = "visible";
        }else{
            document.getElementById(element).style.visibility = "hidden";
      }
     
    }
}

changeVisibility("visUpload1", "no");
</script>
</body>
</html>
Avatar billede nikolajdu Nybegynder
18. april 2003 - 17:45 #6
og et svar.
Avatar billede axkris Nybegynder
18. april 2003 - 17:48 #7
Det er ikke det, som er galt... browseren stopper i linien:
element.style.visibility = "visible";

Det er her fejlen ligger.

Så jeg er ved at eksperimentere med:
document.getElementById(element).style.display = "block";

(Jeg bruger IE6)
Avatar billede nikolajdu Nybegynder
18. april 2003 - 17:52 #8
Har du copy/pastet min version? Den virker fint.
Avatar billede axkris Nybegynder
18. april 2003 - 18:06 #9
Jeg har prøvet din kode, men den virkede ikke. Det gør min kode, som jeg har arbejdet lidt på. Den virke nu... næsten... dvs. ca hver 10-gang virker den ikke. Måske er det fordi at der er lidt problemer med at gøre en file-box synlig og ikke synlig.

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 == "yes" ){
          document.layers[element].visibility = "show";
        }
        else {
          document.layers[element].visibility = "hide";
        }
    }
   
    if( ie ) {
        if (show == "yes") {
              document.getElementById(element).style.display = "block";
        }
        else {
            document.getElementById(element).style.display = "none";
        }
    }

    if( ns6 ) {
          if (show == "yes") {
              document.getElementById(element).style.visibility = "visible";
          }
        else {
            document.getElementById(element).style.visibility = "hidden";
        }
    }
}
Avatar billede nikolajdu Nybegynder
18. april 2003 - 18:27 #10
en filebox???
Avatar billede axkris Nybegynder
18. april 2003 - 18:29 #11
en tekst-box til at indtaste stien til en fil, som skal uploades... men jeg har selv løst den nu... hvis der opstår flere problemer vender jeg tilbage.
Avatar billede axkris Nybegynder
18. april 2003 - 19:22 #12
Det virker nu. Tak for hjælpen.
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