webForumDet fria alternativet

långt och krångligt

2 svar · 343 visningar · startad av Ola

OlaMedlem sedan dec. 199938 inlägg
#1

För en tid sedan modiiferade jag det här scriptet så att det skulle passa till en sajt ,(tyvärr användes det inte), och det funkade bra förutom en sak som irriterade mig och som jag inte löste.

Någon som har en aning om varför, om man trycker på en länk, plustecknet endast blir till ett minustecken i NS men inte i IE.

Ja jag vet att förklaringen är luddig, det lättaste att förstå är att köra scriptet och se.

<HTML>
<HEAD>
<TITLE>meny</TITLE>
<script LANGUAGE="JavaScript">
<!--
document.onmouseover = doDocumentOnMouseOver ;
document.onmouseout = doDocumentOnMouseOut ;
function doDocumentOnMouseOver() {
var eSrc = window.event.srcElement ;
if (eSrc.className == "item") {
window.event.srcElement.className = "highlight"; // change class
}
}
function doDocumentOnMouseOut() {
var eSrc = window.event.srcElement ;
if (eSrc.className == "highlight") {
window.event.srcElement.className = "item"; // change class
}
}
var bV=parseInt(navigator.appVersion);
NS4=(document.layers) ? true : false;
IE4=((document.all)&&(bV>=4))?true:false;
ver4 = (NS4 | | IE4) ? true : false;
function expandIt(){return}
function expandAll(){return}
//-->
</script>
<script LANGUAGE="JavaScript1.2">
<!--
isExpanded = false;
function getInde x(el) {
ind = null;
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers;
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;
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;
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 = "../images/minus.gif";
}
else {
whichEl.style.display = "none";
whichIm.src = "../images/plus.gif";
}
window.event.cancelBubble = true ;
}
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 = "../images/minus.gif";
}
else {
whichEl.visibility = "hide";
whichIm.src = "../images/plus.gif";
}
arrange();
}
function showAll() {
for (i=firstInd; i<document.layers.length; i++) {
whichEl = document.layers;
whichEl.visibility = "show";
}
}
function expandAll(isBot) {
newSrc = (isExpanded) ? "minus.gif" : "plus.gif";
if (NS4) {
document.images["imEx"].src = newSrc;
for (i=firstInd; i<document.layers.length; i++) {
whichEl = document.layers;
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 {font-size:11pt; line-height:16pt; color:white; text-decoration:none; margin-top: 5px; margin-bottom: 5px; position:absolute; visibility:hidden;}");
write(".child {text-decoration:none; font-size:10pt; line-height:14pt; position:absolute; visibility:hidden}");
write(".item { color: orange; text-decoration:none;}");
write(".regular {position:absolute; visibility:hidden}");
write("DIV { color:black; }")
}
else {
write(".child {font:12px/18px Verdana, Arial, Helvetica, sans-serif; display:none}");
write(".parent {font:20px/14px Verdana, Arial, Helvetica, sans-serif; color:black; font-weight:bold; text-decoration:none; margin-top: 5px; margin-bottom: 5px; color: black;}");
write(".item { color: orange; text-decoration:none;}");
write(".highlight { color: red; }");
write(".heada { font: 14px/14px; Verdana, Arial, Helvetica, sans-serif}");
write("DIV { color:black; }")
}
write("</STYLE>");
}
onload = initIt;
//-->
</script>
<STYLE TYPE="text/css"
<!--
.child {color:orange}
-->
<STYLE TYPE="text/css" DISABLED
<!--
.child {color:orange;
font-family:sans-serif; }
-->
</STYLE>
</HEAD>
<!-- --------------------------------- BODY BEGINS HERE --------------------------------- -->
<BODY BGCOLOR="#003366" TEXT="#808080" LINK="#FFFFFF" VLINK="#999999" ALINK="#800000" BACKGROUND="../images/meny_bkg.gif">
<!-- --------------------------------- RECEPTION ---------------------------------------- -->
 
<div ID="elOneParent" CLASS="parent">
<a href="#" class="item" onClick="expandIt('elOne'); return false">
<img NAME="imEx" SRC="../images/plus.gif" BORDER=0 ALT="reception" WIDTH=15 HEIGHT=15>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" COLOR="#FFFFFF" CLASS="heada"><B>reception</B></A></font>
</div>
<div ID="elOneChild" CLASS="child">
  
<a class="item" target="main" HREF="../reception/reception.html"><CLASS=child>information</a><br>
  
<a class="item" HREF="m">rum</a><br>
  
<a class="item" target="main" HREF="">här finns vi</a><br>
  
<a class="item" target="main" HREF=""> gästbok</a><br>
  
<a class="item" target="main" HREF="../kontakt/index.html">kontakta oss</a><br>
</div>
<!----------------------------------- BOKNING ------------------------------------------>
<div ID="elDrawParent" CLASS="parent">
<a href="#" class="item" onClick="expandIt('elDraw'); return false">
<img NAME="imEx" SRC="../images/plus.gif" BORDER=0 ALT="bokning" WIDTH=15 HEIGHT=15>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" COLOR="#FFFFFF" CLASS="heada">
<B>bokning</B></A></font>
</div>
<div ID="elDrawChild" CLASS="child">
  
<a class="item" target="main" HREF="../bokning/bokning.html">bokning</a><br>
  
<a class="item" target="main" HREF="../bokning/engbokning.html">reservations</a><br>
</div>
<!------------------------------------ KONFERENS -------------------------------------->
<div ID="elTwoParent" CLASS="parent">
<a class="item" HREF="#" onClick="expandIt('elTwo'); return false">
<img NAME="imEx" SRC="../images/plus.gif" BORDER=0 ALT="konferens" WIDTH=15 HEIGHT=15>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" COLOR="#FFFFFF" CLASS="heada"><B>konferens</B></A></font>
</div>
<div ID="elTwoChild" CLASS="child">
  
<a class="item" target="main" HREF="../konferens/index.html">information</a><br>
  
<a class="item" target="main" HREF="../konferens/konfinfo.html">lokaler & priser</a><br>
  
<a class="item" target="main" HREF="">kontakta oss</a><br>
</div>
<!----------------------------------- BRASSERIET ------------------------------------------>
<div ID="elThreeParent" CLASS="parent">
<a class="item" HREF="#" onClick="expandIt('elThree'); return false">
<img NAME="imEx" SRC="../images/plus.gif" BORDER=0 ALT="brasserie" WIDTH=15 HEIGHT=15>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" COLOR="#FFFFFF" CLASS="heada"><B>brasserie</B></A></font>
</div>
<div ID="elThreeChild" CLASS="child">
  
<a class="item" target="main" HREF="../brasserie/index2.html">information</a><br>
  
<a class="item" target="main" HREF="">öppettider</a><br>
  
<a class="item" target="main" HREF="../brasserie/meny.html">meny</a><br>
  
<a class="item" target="main" HREF="">kontakta oss</a><br>
</div>
<!-- --------------------------------- BAR ---------------------------------------- -->
<div ID="elFourParent" CLASS="parent">
<a class="item" HREF="#" onClick="expandIt('elFour'); return false">
<img NAME="imEx" SRC="../images/plus.gif" BORDER=0 ALT="bar" WIDTH=15 HEIGHT=15>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" COLOR="#FFFFFF" CLASS="heada"><B>bar</B></A></font>
</div>
<div ID="elFourChild" CLASS="child">
  
<a class="item" target="main" HREF="">drinklista</a><br>
  
<a class="item" target="main" HREF="">???</a><br>
</div>
<!-- --------------------------------- NATTKLUBB ---------------------------------------- -->
<div ID="elFiveParent" CLASS="parent">
<a class="item" HREF="#" onClick="expandIt('elFive'); return false">
<img NAME="imEx" SRC="../images/plus.gif" BORDER=0 ALT="nattklubb" WIDTH=15 HEIGHT=15>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif" COLOR="#FFFFFF" CLASS="heada"><B>nattklubb</B></A></font>
</div>
<div ID="elFiveChild" CLASS="child">
  
<a class="item" target="main" HREF="../nattklubb/open.html">information</a><br>
  
<a class="item" target="main" HREF="../nattklubb/nytt.html">vad händer</a><br>
  
<a class="item" target="main" HREF="../nattklubb/vimmel.html">vimmel</a><br>
  
<a class="item" target="main" HREF="../nattklubb/weirdtable.html">gästbok</a><br>
  
<a class="item" target="main" HREF="../nattklubb/weirdtable.html">kontakta oss</a><br>
</div>
<script LANGUAGE="JavaScript1.2">
<!--
if (NS4) {
firstEl = "elOneParent";
firstInd = getInde x(firstEl);
showAll();
arrange();
}
//-->
</script>
</body>
</html>

------------------
/Ola

emissionMedlem sedan dec. 19996 721 inlägg
#2

Puh! Lägg gärna upp en länk nästa gång ;)

Det däringa skriptet är lite halvsunkigt, men prova med att byta ut

whichIm = event.srcElement;

i expandIE-funktionen till

whichIm = eval(el+"Img");

Då borde det funka.

mvh

OlaMedlem sedan dec. 199938 inlägg
#3

Jag bugar och bockar skall testa det omgående

------------------
/Ola

146 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)