changing visiblity in NS6 and ie5

im trying to change the visibility of divs in NS6 and ie5. I havent yet tested it in netscape but internet explorer keeps giving me an error when it reaches the  var id=getElementById(menu) part. menu is set by: onMouseOver=toggle("divName");
here's the script:
function toggle(menu)
{
if(document.layers)  
{  visible = "show";
   hidden = "hide";
  if(menu.visibility == "show")
  {
   menu.visibility = hidden;}
  else
  {menu.visibility = visible;}
}
if (document.getElementById)
{var id=document.getElementById(eval(menu));
alert(id);  
if (id.style.visibility == "visible")
{id.style.visibility = "hidden";}
 else
{id.style.visibility = "visible";}
}
thanks
alxr66Asked:
Who is Participating?
 
lectosConnect With a Mentor Commented:
Ooops, I meant

function toggle(menu){
if(document.layers) {
 visible = "show";
 hidden = "hide";
if(menu.visibility == "show"){ menu.visibility = hidden;}
else {menu.visibility = visible;}
}
if (document.getElementById) {
var id=document.getElementById(menu);
alert(id);  
if (id.style.visibility == "visible"){id.style.visibility = "hidden";}
else {id.style.visibility = "visible";}
}}

0
 
nivelCommented:
SetVisible("mydiv", true);

function SetVisible(divname, showIt) {
  document.all(divname).style.visibility
  = (showIt?"block":"none");
}

This works only in ie5 though.
If you find out how to do it in ns6 then I'd like to know.
0
 
nivelCommented:
Ooops, I mixed things up a bit there.

style.display can be "block" or "hidden".
style.visibility can be "visible" or "hidden"

Sorry.
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
lectosCommented:
Instead of:

var id=document.getElementById(eval(menu));

Try:

var id=document.getElementById(menu);

You don't need the eval() in the way you are using the functions.  It's probably what is causing the error.
0
 
alxr66Author Commented:
no lectos, that doesn't help, in the alert(id); id is alerted as "null". and then ie says "object requiered" so its something else.
0
 
alxr66Author Commented:
Nivel:

the reason your code doesn't work in NS6 is because netscape doesn't support  document.all you have to use getElementById which is also supported by ie5
0
 
lectosCommented:
I tried the above script out once I got home from work.  I fixed the {} problem from above and it works fine as far as I can tell.

function toggle(menu){
if(document.layers) {
  visible = "show";
  hidden = "hide";
 if(menu.visibility == "show"){ menu.visibility = hidden;}
 else {menu.visibility = visible;}
 }
 if (document.getElementById) {var id=document.getElementById(menu); }
alert(id);  
if (id.style.visibility == "visible"){id.style.visibility = "hidden";}
else {id.style.visibility = "visible";}
}


0
 
alxr66Author Commented:
Thanx lectos, problem solved!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.