Re: A problem with an apparently common JS menu...
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.javascript archive

Re: A problem with an apparently common JS menu...

From: Bryan <j_oswalt@bellsouth.net>
Date: Wed Nov 16 2005 - 00:06:52 CET

>>Invalid markup, insufficient feature tests, proprietary referencing,
>>evil[tm] eval(), and nonsensical, potential harmful comments (in that
>>order) ... what do you expect?

If I knew, I wouldn't need to ask... :P

I removed all comments, got rid of eval, now I just need to know what
part of the markup is invalid, what is "proprietary referencing", and
what feature tests I should run...

It still runs perfectly in IE, but the menu doesn't budge in Netscape
when the submenu is made visible...

Code now looks like:

<SCRIPT LANGUAGE="JavaScript">

var nom = 10;
var usePictures = 0;

var ttls = new Array();
var subs = new Array();
var lastn;
var lastmove;

if (document.getElementById) {
visible = 'visible';
hidden = 'hidden';
}
for (var i = 1; i <= nom; i++) {
ttls[i] = ('title' + i);
subs[i] = ('submenu' +i);
}
function picopen(n) {
title = ('title' + n);
pic = ('pic' + n);
if (document.getElementById) {
document.getElementById(pic).src = "opened.gif";
   }
}
function picclose(n) {
title = ('title' + n);
pic = ('pic' + n);
if (document.getElementById) {
document.getElementById(pic).src = "closed.gif";
   }
}
lastn = (nom + 1);
lastmove = 0;
function lasttoggle(n,move) {
if (n <= nom) {
menu = ('submenu' + n);
if (document.getElementById) {
submenu = document.getElementById(menu).style;
}
if (submenu.visibility == visible) {
submenu.visibility = hidden;
for (var i = (n+1); i <= nom; i++) {
if (document.getElementById) {
document.getElementById(ttls[i]).style.pixelTop -= move;
document.getElementById(subs[i]).style.pixelTop -= move;
            }
         }
      }
   }
}
function toggle(n,move) {
menu = ('submenu' + n);
if (document.getElementById) {
submenu = document.getElementById(menu).style;
}
if (submenu.visibility == visible) {
submenu.visibility = hidden;
if (usePictures) picclose(n);
for (var i = (n+1); i <= nom; i++) {
if (document.getElementById) {
document.getElementById(ttls[i]).style.pixelTop -= move;
document.getElementById(subs[i]).style.pixelTop -= move;
      }
   }
}
else {
submenu.visibility = visible;
if (usePictures) picopen(n);
if (lastn != n) {
lasttoggle(lastn,lastmove);
}
for (var i = (n+1); i <= nom; i++) {
if (document.getElementById) {
document.getElementById(ttls[i]).style.pixelTop += move;
document.getElementById(subs[i]).style.pixelTop += move;
      }
   }
}
lastn = n;
lastmove = move;
}

// End -->

</script>
Received on Mon Nov 21 03:30:46 2005