Avatar billede incrediboy Nybegynder
28. januar 2005 - 10:35 Der er 9 kommentarer og
1 løsning

Show/hide virker ikke i Firefox

Hej. Jeg har dette script i javascript som skal vise eller skjule div. Dette virker (næsten) optimalt i ie, der mangler dog at være således når man trykker på en anden "vis div" så skjules den første trykkede på...? anyway mit script er således:

var ns, ns6, ie, newlayer;

ns4  = (document.layers) ? true : false;
ie4 = (document.all)? true:false
ie5 =(document.getElementById)? true:false
ns6 = (document.getElementById && !document.all)?true:false;

function getLayerStyle( lyr ){
if( ns4 ){
return document.layers[lyr];
} else if( ie4 ){
return document.all[lyr].style;
} else if( ie5 ){
return document.all[lyr].style;
} else if( ns6 ){
return document.getElementById(lyr).style;
}
}

function ShowHide(layer){
newlayer = getLayerStyle(layer)

var styleObj = (ns4)? document.layers[layer] : (ie4)? document.all[layer].style : document.getElementById(layer).style;

if (newlayer.visibility == "hidden") {
newlayer.visibility = "visible";
styleObj.display = ""
}
else if (newlayer.visibility == "visible") {
newlayer.visibility = "hidden";
styleObj.display = "none"
}
}
</script>

<ol class="menu3">
    <li><a href="java script:ShowHide('testdiv1');">En fil</a></li>
    <li><a href="java script:ShowHide('testdiv2');">Endnu en fil</a></li>
    </ol>
   
   
    </td>
    <!-- InstanceEndEditable -->
    <td><!-- InstanceBeginEditable name="indhold højre" -->
    <div id="testdiv1" name="testdiv1" style="visibility: hidden; display: none;">div 1</div>
  <div id="testdiv2" name="testdiv2" style="visibility: hidden; display: none;">div 2</div>

nogen der ved hvad jeg gør???
Avatar billede roenving Novice
28. januar 2005 - 11:05 #1
Du gør forkert rækkefølge !-)

var ns, ns6, ie, newlayer, oldlayer;

...

function getLayerStyle( lyr ){
  if( ns6 || ie5 ){
    return document.getElementById(lyr).style;
  } else if( ie4 ){
    return document.all[lyr].style;
  } else if( ns4 ){
    return document.layers[lyr];
  }
}

function ShowHide(layer){
  newlayer = getLayerStyle(layer)

  if (newlayer.visibility == "hidden") {
    if(oldlayer){
      oldlayer.visibility = "hidden";
      oldlayer.display = "none";
    }
    newlayer.visibility = "visible";
    newlayer.display = "";
    oldlayer = newlayer;
  }else if (newlayer.visibility == "visible") {
    newlayer.visibility = "hidden";
    newlayer.display = "none";
  }
}
Avatar billede incrediboy Nybegynder
31. januar 2005 - 09:19 #2
Super. tak det virkede... :-)
Avatar billede incrediboy Nybegynder
31. januar 2005 - 09:19 #3
du skal lige svare hvis du vil have point..
Avatar billede roenving Novice
31. januar 2005 - 09:33 #4
Velbekomme '-)
Avatar billede incrediboy Nybegynder
02. februar 2005 - 15:21 #5
Sorry. men her kommer lige en tilrettelse til det den skal kunne...
Jeg vil gerne have at når man trykkede på det link til at vise divet, så åbnede den et link derinden i. Altså f.eks www.jubii.dk inden i divet, uden browservinduer m.v., og hvor positionen var der hvor divet er...
det jeg har forsøgt uden den helt rigtige effekt er:

<script language="javascript">
function MinPopUp() {
window.open('http://www.jubii.dk','popup','toolbar=no,status=no,scrollbars=no,location=no,menubar=no,directories=no,width=500;,height=400')
};
</script>

<a href="java script:ShowHide('div1');">Elektronegativitet</a>

<div id="div1" class="indhold4" name="div1" style="visibility: hidden; display: none;"><a onclick="MinPopUp()">mon det virker?</a></div>
 
Her virker det så desværre først når man trykker på "mon det virker", og den popper up et tilfældigt sted på skærmen, med browser vinduer m.v...
Avatar billede incrediboy Nybegynder
02. februar 2005 - 15:23 #6
skal lige sige at show/hide funktionen virjker upåklageligt...
Avatar billede roenving Novice
02. februar 2005 - 15:28 #7
<div id="div1" class="indhold4" name="div1" style="visibility: hidden; display: none;"><iframe name="minFrame"></iframe></div>

window.frames.minFrame.location.href = "http://www.jubii.dk";
Avatar billede incrediboy Nybegynder
02. februar 2005 - 16:19 #8
Den viser desværre kun en tom kasse og ikke www.jubii.dk?

har smidt det ind i:
<script>
window.frames.minFrame.location.href = "http://www.jubii.dk";
</script>

?? :-(
Avatar billede roenving Novice
03. februar 2005 - 09:17 #9
Tjah, jeg har lavet nummeret på mange forskellige måder, så der må være noget andet galt !-)
Avatar billede incrediboy Nybegynder
03. februar 2005 - 15:21 #10
ok. hmm du gider ikke smide et script (samlet ;-)) der virker, så jeg kan teste om det er noget andet på min com der ikke virker, eller noget?
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