Hjælp til menu script
Jeg vil gerne have nedenstående script til at virke ens i både IE og NS. Når scripten indlæse i IE, er alle menupunkterne pænt lukkedet, men ikke i NS. I NS kan man trykke på punktet i menuen og ikke kun på gif, for at få undermenuen frem, det kan man ikke i IE.Scriptet kan ses på www.kif-atletik.dk.
Spørgsmålet ligner et tilsvarende, så der er 30 bonus point at hente der. Håber på hurtigt svar.
<SCRIPT LANGUAGE="JavaScript">
<!--
var bV=parseInt(navigator.appVersion);
NS4=(document.layers) ? true:false;
IE4=((document.all)&&(bV>=4))?true:false;
ver4 = (NS4 || IE4) ? true:false;
if (document.images) {
arImLoad = new Array (
"../art/b_left_over",
"../art/b_left_down",
"../art/b_right_over",
"../art/b_right_down",
"triUp");
arImList = new Array ();
for (counter in arImLoad) {
arImList[counter] = new Image();
arImList[counter].src = arImLoad[counter] + ".gif";
}}
function navOver(imName,dir,over,bot) {
if (!document.images) {return};
whichIm = (NS4 && bot) ? document.elFooter.document.images[imName] : document.images[imName];
if (over) {whichIm.src = "../art/b_" + dir + "_over.gif"}
else {whichIm.src = "../art/b_" + dir + ".gif"}
}
function navPress(imName,dir,press,bot) {
whichIm = (NS4 && bot) ? document.elFooter.document.images[imName] : document.images[imName];
if (press) {whichIm.src = "../art/b_" + dir + "_down.gif"}
else {whichIm.src = "../art/b_" + dir + ".gif"}
}
function expandIt(){return}
function expandAll(){return}
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript1.2">
<!--
isExpanded = false;
function getIndex(el) {
ind = null;
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id == el) {
ind = i;
break;
}
}
return ind;
}
function arrange() {
nextY = document.layers[firstInd].pageY + document.layers[firstInd].document.height;
for (i=firstInd+1; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.visibility != "hide") {
whichEl.pageY = nextY;
nextY += whichEl.document.height;
}
}
}
function initIt(){
if (NS4) {
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
}
arrange();
}
else {
tempColl = document.all.tags("DIV");
for (i=0; i<tempColl.length; i++) {
if (tempColl(i).className == "child") tempColl(i).style.display = "none";
}
}
}
function expandIt(el) {
if (!ver4) return;
if (IE4) {expandIE(el)} else {expandNS(el)}
}
function expandIE(el) {
whichEl = eval(el + "Child");
whichIm = event.srcElement;
if (whichEl.style.display == "none") {
whichEl.style.display = "block";
whichIm.src = "triUp.gif";
}
else {
whichEl.style.display = "none";
whichIm.src = "triDown.gif";
}
}
function expandNS(el) {
whichEl = eval("document." + el + "Child");
whichIm = eval("document." + el + "Parent.document.images['imEx']");
if (whichEl.visibility == "hide") {
whichEl.visibility = "show";
whichIm.src = "triUp.gif";
}
else {
whichEl.visibility = "hide";
whichIm.src = "triDown.gif";
}
arrange();
}
function showAll() {
for (i=firstInd; i<document.layers.length; i++) {
whichEl = document.layers[i];
whichEl.visibility = "show";
}
}
function expandAll(isBot) {
newSrc = (isExpanded) ? "triDown.gif" : "triUp.gif";
if (NS4) {
document.images["imEx"].src = newSrc;
for (i=firstInd; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id.indexOf("Parent") != -1) {
whichEl.document.images["imEx"].src = newSrc;
}
if (whichEl.id.indexOf("Child") != -1) {
whichEl.visibility = (isExpanded) ? "hide" : "show";
}
}
arrange();
if (isBot && isExpanded) scrollTo(0,document.layers[firstInd].pageY);
}
else {
divColl = document.all.tags("DIV");
for (i=0; i<divColl.length; i++) {
if (divColl(i).className == "child") {
divColl(i).style.display = (isExpanded) ? "none" : "block";
}
}
imColl = document.images.item("imEx");
for (i=0; i<imColl.length; i++) {
imColl(i).src = newSrc;
}
}
isExpanded = !isExpanded;
}
with (document) {
write("<STYLE TYPE='text/css'>");
if (NS4) {
write(".parent {position:absolute; visibility:hidden}");
write(".child {position:absolute; visibility:hidden}");
write(".regular {position:absolute; visibility:hidden}")
}
else {
write(".child {display:none}")
}
write("</STYLE>");
}
onload = initIt;
//-->
</SCRIPT>
</HEAD>
<BODY>
<!-- ***************** VIS/SKJUL ALLE *********************** -->
<DIV ID=B><A HREF="#" onClick="expandAll(false); return false">
<IMG NAME="imEx" SRC="triDown.gif" WIDTH=12 HEIGHT=12 BORDER=0 ALT="Vis/Skjul alle"></A>
Vis/Gem alle</DIV>
<!-- ******************* OM KIF ******************************** -->
<DIV ID="elOneParent" CLASS=parent>
<DIV ID=B><A HREF="#" onClick="expandIt('elOne'); return false">
<IMG NAME="imEx" SRC="triDown.gif" WIDTH=12 HEIGHT=12 BORDER=0 ALT="Vis/Gem undermenu">
Om KIF</A></DIV></DIV>
<!-- *************** OM KIF - UNDERMENU *********************** -->
<DIV ID="elOneChild" CLASS=child>
<DIV ID=B><A HREF="../omkif/generelt.html" TARGET="main">Generelt</A><BR>
<A HREF="../omkif/contact.html" TARGET="main">Kontaktpersoner</A><BR>
<A HREF="../omkif/2006.html" TARGET="main">KIF's hovedmål</A><BR>
<A HREF="../omkif/galleri/galleri.html" TARGET="main">Profilgalleri</A><BR>
<BR></DIV></DIV>
<!-- ******************** NYHEDER ************************** -->
<DIV ID="elTwoParent" CLASS=parent>
<DIV ID=B><A HREF="#" onClick="expandIt('elTwo'); return false">
<IMG NAME="imEx" SRC="triDown.gif" WIDTH=12 HEIGHT=12 BORDER=0 ALT="Vis/Gem undermenu">
Nyheder</DIV></DIV></A>
<!-- *************** NYHEDER - UNDERMENU ******************** -->
<DIV ID="elTwoChild" CLASS=child>
<DIV ID=B>
<A HREF="../news/news.html" TARGET="main">Sidste nyt</A><BR>
<A HREF="../news/dm1999.html" TARGET="main">DM 1999</A><BR>
<A HREF="../news/arkiv.html" TARGET="main">Ældre nyheder</A><BR>
<BR></DIV></DIV>
<!-- ******************* GEM/VIS ALLE ********************* -->
<DIV ID="elExpParent" CLASS=regular>
<DIV ID=B><A HREF="#" onClick="expandAll(true); return false">
<IMG NAME="imEx" SRC="triDown.gif" WIDTH=12 HEIGHT=12 BORDER=0 ALT="Vis/Skjul alle"></A>
Vis/Gem alle</DIV><BR><BR></DIV>
<SCRIPT LANGUAGE="JavaScript1.2">
<!--
if (NS4) {
firstEl = "elOneParent";
firstInd = getIndex(firstEl);
showAll();
arrange();
}
//-->
</SCRIPT>
