Avatar billede -mundi- Nybegynder
21. november 2001 - 10:39 Der er 37 kommentarer og
2 løsninger

Show hide på en div i ie4-6 ns4-6.2

titlen siger vist det hele :-)

Men jeg kunne godt tænkte mig et eksempel :-)
Avatar billede nute Nybegynder
21. november 2001 - 10:42 #1
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<STYLE TYPE=\"text/css\">
<!--
#divDisplay {position:absolute;left:5px;top:20px;clip:rect(0,100,20,0); background-color:#ffffff; layer-background-color:#ffffff;}
-->
</STYLE>

<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
<!--

var ns, ns6, ie;

function findBrowser(){
  ns  = (document.layers) ? true : false;
    ns6 = (document.getElementById) ? true : false;
    ie  = (document.all) ? true : false;
}

function checkBox(){
  var bChecked = document.form.chck.checked;
  if( ns ){
        if( bChecked ){
          document.layers[\"divVisibility\"].visibility = \"show\";
        } else {
          document.layers[\"divVisibility\"].visibility = \"hide\";
        }
    } else if( ie ){
        if( bChecked ){
          divVisibility.style.visibility = \"visible\";
        } else {
          divVisibility.style.visibility = \"hidden\";
        }
    } else if( ns6 ){
      if( bChecked ){
          document.getElementById(\"divVisibility\").style.visibility = \'visible\';
        } else {
          document.getElementById(\"divVisibility\").style.visibility = \'hidden\';
        }
    }
}
//-->
</SCRIPT>
<body onLoad=\"findBrowser();\">
Dette er en liten visibility test
<div name=\"divVisibility\" id=\"divVisibility\" style=\"position:relative;visibility:hidden;top:0px;left:0px;\">Test</div>
<br>
<form name=\"form\">
<input type=\"checkbox\" name=\"chck\" onClick=\"checkBox();this.blur();\"></form>
</body>
</html>
Avatar billede olebole Juniormester
21. november 2001 - 10:42 #2
<ole>

document.layers[\"dit_divs_id\"].visibility = \"hidden\";
document.layers[\"dit_divs_id\"].visibility = \"visible\";

document.getElementById(\"dit_divs_id\").style.visibility = \"hidden\";
document.getElementById(\"dit_divs_id\").style.visibility = \"visible\";

/mvh
</bole>
Avatar billede nute Nybegynder
21. november 2001 - 10:43 #3
olebole >> er dét det hele ?? trenger man ikke mer ??

;-)
Avatar billede olebole Juniormester
21. november 2001 - 10:45 #4
Jojo .....næsten som du har skrevet det  :)

Der er ingen grund til at bruge \'hide\' og \'show\'. NS4.X forstår fint \'hidden\' og \'visible\'  ;o)
/mvh
Avatar billede nute Nybegynder
21. november 2001 - 10:48 #5
hmmm...jeg synes jeg har hørt den lekse fra deg et par ganger eftehånden :-D

*omskriver mitt eksempel til fremtidig glede for deg og i håp om til stadighet å bli minnet på dette sørgelige faktum av samme person*
Avatar billede olebole Juniormester
21. november 2001 - 10:52 #6
Skøøøøøønt  ;oD

Det sjove er, at hvis du spørger til et lags visibility i NS4.X, returneres \'hide\' eller \'show\' - men når man taler *til* NS4.X, fungerer \'hidden\' og \'visible\' fint  ;o)

-mundi- >> Du er den heldige, bespammede spørger idag. Sorry  ;o))
/mvh
Avatar billede nute Nybegynder
21. november 2001 - 10:58 #7
Re: \"Det sjove er, at hvis ...\"...jeg har selv oppdaget denne inkonsistensen i NS4.x og har av samme grunn derfor beholdt \"konvensjonen\" for egenskapen ved å fortelle NS at den skal være \"hide\" eller \"show\". Jeg har ikke videre tenke over det, men jeg ser nå at mine 20+ linjers kode nå kan komprimeres ned til følgende (lettleste/js-for-dummies) kode:

function checkBox(){
    var newDisp  = document.form.chck.checked?\"visible\":\"hidden\";
   
  if( ns ){
    document.layers[\"divVisibility\"].visibility = newDisp;
    } else if( ie ){
    divVisibility.style.visibility = newDisp;
    } else if( ns6 ){
        document.getElementById(\"divVisibility\").style.visibility = newDisp;
    }
   
}

som jo gjør det *meget* penere...

:-)
Avatar billede -mundi- Nybegynder
21. november 2001 - 10:59 #8
he he takker for de mange svar :-)

Lurer lige om de virker først :-)
Avatar billede olebole Juniormester
21. november 2001 - 11:01 #9
var newDisp  = (document.form.chck.checked)? \"visible\":\"hidden\";

...kan jeg nu bedre lide at se på  ;o)
/mvh
Avatar billede nute Nybegynder
21. november 2001 - 11:03 #10
mundi >> vi poster da ikke kode som ikke fungerer ;)

olebole >> me 2 :)
Avatar billede -mundi- Nybegynder
21. november 2001 - 11:04 #11
Det virker sgu :-))

Mit næste problem er at lave en image swapping i en div der er er sat med \"position: absolute\" i css\'en, jeg bliver ved med at få en \"imagenavn\" has no properties i netscape :-/
Avatar billede olebole Juniormester
21. november 2001 - 11:05 #12
document.layers[\"divID\"].document.images.src = \"ny.gif\";
/mvh
Avatar billede olebole Juniormester
21. november 2001 - 11:06 #13
document.layers[\"divID\"].document.images[\"billedNavn\"].src = \"ny.gif\";
...selvfølgelig  =o)
Avatar billede -mundi- Nybegynder
21. november 2001 - 11:18 #14
document.layers.menulayer.document.images[img_name] has no
properties.  ??

får jeg ud fra den her stump kode:

function menuswap(img_name,img_src)
{
    var n  = document.layers;
    var ie = document.all;
    var myPath = \'menu-dk/\';
   
    if (n)
    {
        document.layers[\'menulayer\'].document.images[img_name].src = myPath+img_src;
    }

}
Avatar billede -mundi- Nybegynder
21. november 2001 - 11:29 #15
Det er vel og mærke n4 vi snakker om....
Avatar billede nute Nybegynder
21. november 2001 - 11:32 #16
har du et linke ?
Avatar billede -mundi- Nybegynder
21. november 2001 - 11:42 #17
skal prøve at uploade noget om 2 sekunder
Avatar billede olebole Juniormester
21. november 2001 - 12:35 #18
Du husker vel style=\"position:absolute\" i dit div? Ellers fungerer intet i NS4.X  ;o)
/mvh
Avatar billede nute Nybegynder
21. november 2001 - 12:40 #19
olebole >> 21/11 2001 11:04:27 
Avatar billede olebole Juniormester
21. november 2001 - 12:48 #20
I know...men jeg kan jo kun se, hvad du skriver her - ikke koden, du tester på. Koden, du skriver her, fejler intet. Derfor spørger jeg  ;o)
/mvh
Avatar billede olebole Juniormester
21. november 2001 - 12:49 #21
...eller er der måske tale om nestede div\'s...?
En URL ville gøre underværker  :)
Avatar billede -mundi- Nybegynder
21. november 2001 - 14:06 #22
Ja det tager lidt tid, jeg har ikke smidt noget af det på nettet endnu.... Skal lige rode javascriptet ordenligt på plads
Avatar billede -mundi- Nybegynder
21. november 2001 - 14:30 #23
nu kom det endelig op et sted,

http://www.cowvsman.com/eksperten/default1-dk.asp
Avatar billede nute Nybegynder
21. november 2001 - 14:35 #24
hmmm...kanskje du kan komme med en liten kommentar om *hva* som ikke fungerer ?!
Avatar billede -mundi- Nybegynder
21. november 2001 - 14:38 #25
he he

mouse over på billederne i menuen i netscape4-6.2
Avatar billede -mundi- Nybegynder
21. november 2001 - 14:39 #26
få denne her :

Error: document.getElementById(img_name) has no properties
Source File: http://www.cowvsman.com/eksperten/layer.js
Line: 42
Avatar billede nute Nybegynder
21. november 2001 - 14:43 #27
i NS4 skal du adressere et layer med

document.layers[...]

og i NS6

document.getElementById(...)
Avatar billede -mundi- Nybegynder
21. november 2001 - 14:46 #28
øhh det gør den da også ?

det er funktionen menuswap i http://www.cowvsman.com/eksperten/layer.js der laver ged i den
Avatar billede -mundi- Nybegynder
21. november 2001 - 14:52 #29
bare så jeg er helt sikker på vi snakker om det samme :

http://www.cowvsman.com/eksperten/eksperten.gif
Avatar billede nute Nybegynder
21. november 2001 - 14:53 #30
legg id attributt på dine img tag...

<img src=\"menu-dk/index-ompk.gif\" width=\"100\" height=\"7\" border=\"0\" name=\"Knap2\" id=\"Knap2\">

/nute
Avatar billede -mundi- Nybegynder
21. november 2001 - 14:56 #31
virker heller ikke :-/
Avatar billede -mundi- Nybegynder
21. november 2001 - 15:27 #32
Det virker i ns6 og ie nu :-) Så nu mangler vi kan ns4+ :) Koooom så, jeg ved du kan :-)
Avatar billede nute Nybegynder
21. november 2001 - 15:31 #33
hmmmm....jeg må ærlig innrømme aat jeg ikke kan se hvorfor det ikke fungerer. Jeg har selv testet ditt script  på min maskin, men den vil ikke helt. jeg har heller ikke så mye tid å kikke på det, da jeg sitter på arbeid, men hvis ikke olebole eller noen andre geniale mennesker poster et svar du kan bruke, så kan jeg se på det når jeg kommer hjem...

/nute
Avatar billede -mundi- Nybegynder
21. november 2001 - 15:48 #34
ok jeg venter gerne :-)
Avatar billede -mundi- Nybegynder
22. november 2001 - 09:54 #35
ævs er der ikke nogen kloge hoveder der kan hjælpe ?

Avatar billede nute Nybegynder
22. november 2001 - 11:32 #36
jeg må helt ærlig innrømme (igjen) at jeg ikke kan fatte hva som skjer...hvorfor det ikke fungerer. jeg har selv skrevet en liten side som i mine øyne er fullstendig identisk med det script du har...og det fungerer...det er et lite mysterium for meg :-|

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
  function menuswap( img_name, img_src ){
      document.layers[\'menulayer\'].document.images[img_name].src = img_src;
    }
  //-->
  </SCRIPT>
</head>

<body>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"195\" bgcolor=\"#c09106\">
  <tr><td>
<DIV NAME=\"menulayer\" STYLE=\"position:relative;\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"195\" bgcolor=\"#c09106\">
  <tr><td>
<a href=\"#\" onmouseover=\"menuswap(\'Knap1\',\'print.gif\');\" onmouseout=\"menuswap(\'Knap1\',\'warning.gif\');\">
<IMG SRC=\"warning.gif\" NAME=\"Knap1\" id=\"Knap1\" border=\"0\"></a><br>
<a href=\"#\" onmouseover=\"menuswap(\'nuteImage\',\'print.gif\');\" onmouseout=\"menuswap(\'nuteImage\',\'warning.gif\');\">
<IMG SRC=\"warning.gif\" NAME=\"nuteImage\" id=\"nuteImage\" border=\"0\"></a>
</td></tr></table>
</DIV>
</td></tr></table>
</body>
</html>
Avatar billede -mundi- Nybegynder
22. november 2001 - 12:47 #37
Det var lige godt satans.... Dit duer men mit gør ikke, meget skummelt....

Well jeg må jo hellere i gang med at fjerne kode indtil jeg finder ud af hvad det er der laver balladen, måske er det der flash ? hmm nå jeg prøver og vender tilbage..

I før ihvertfald jeres points med det samme :-)
Avatar billede nute Nybegynder
22. november 2001 - 12:49 #38
takker....beklager at du ikke fikk løst ditt irriterende problem, men jeg kan nesten heller ikke legge mer tid i det...jeg skal jo også tjene mine penger :-)
Avatar billede -mundi- Nybegynder
22. november 2001 - 13:00 #39
Klart der, men det er ihvertfald ikke et javascript problem har vi så fundet ud af :-) Der må være et eller andet i min kode der fucker det up....

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