webForumDet fria alternativet

problem

25 svar · 451 visningar · startad av MizzK

MizzKMedlem sedan juni 2003410 inlägg
#1

jag har laddat hem en liten javascript meny, som skall expandera undermenyn när man klickar på en av "huvudknapparna". Detta fungerar utmärkt när filen är "ensam" men så fort jag inkluderar filen på min index sida så fungerar inte expanderingen längre. Vad gör jag för att lösa detta?

Har försökt maila skaparen av skriptet men inget svar.

@ndersMedlem sedan juni 200032 969 inlägg
#2

Visa kod.

JojoxxMedlem sedan juni 20004 308 inlägg
#3

Antagligen är det element, funtioner eller variabler som krockar mellan scriptet och resten av sidan. Exakt vad är omöjligt att säga utan att se sidan. Får du något felmeddelande? Kan du länka till sidan?

MizzKMedlem sedan juni 2003410 inlägg
#4

var active=null,_oE=null;
var subMenus=[
["sub1","cat","web"],
["sub2","cat","about"],
["sub3","cat","place"],
["sub4","cat","script"],
["sub5","cat","linkz"],
["sub6","cat","fun"],
["sub7","cat","layout"]
];

function getElm(e){
switch(true){
case typeof(document.all)=="object":
return document.all[e];
case typeof(document.getElementById)=="function":
return document.getElementById(e);
default:
return null;
}
};

function showHide(s){
var e=getElm(s);

if(!e){
	return true;
}

if(active&&active!=e.id){
	var oE=getElm(active);
	if(document.all){
		oE.nextSibling.style.display=(window.opera)?"table-row":"block";
	} else {
		oE.nextSibling.nextSibling.style.display="table-row";
	}
	oE.style.display="none";
}
else if(!active&&find()){
	var i=subMenus.length;
	while(i--\>0){
		if(e==getElm(subMenus*\[0\])){
			if(document.all){
				\_oE.nextSibling.style.display=(window.opera)?"table-row":"block";
			} else {
				\_oE.nextSibling.nextSibling.style.display="table-row";
			}
			continue;
		} else {
			getElm(subMenus*\[0\]).style.display="none";
		}
	}
}

if(e.style.display==""\|\|e.style.display=="none"){
	if(document.all){
		e.style.display=(window.opera)?"table-row":"block";
		e.nextSibling.style.display="none";
	} else {
		e.style.display="table-row";
		e.nextSibling.nextSibling.style.display="none";
	}
} else {
	if(document.all){
		e.nextSibling.style.display=(window.opera)?"table-row":"block";
	} else {
		e.nextSibling.nextSibling.style.display="table-row";
	}
	e.style.display="none";
}

active=e.id;

return false;

};

function find(){
if(subMenus.length<1 || location.search.indexOf("cat=")<1 || location.search.indexOf("cat=pics")>0){
return 0;
}

var
	o=subMenus,
	i=o.length,
	l=location.search;
while(i--\>0){
	if(l.indexOf(o*\[1\])\>0){
		if(l.split(o*\[1\])\[1\].indexOf(o*\[2\])\>0){
			\_oE=getElm(o*\[0\]);

			if(document.all){
				\_oE.style.display=(window.opera)?"table-row":"block";
				\_oE.nextSibling.style.display="none";
			} else {
				\_oE.style.display="table-row";
				\_oE.nextSibling.nextSibling.style.display="none";
			}
			continue;
		}
	}
	getElm(o*\[0\]).style.display="none";
}
return 1;

};

window.onload=function(){
find();
};

Det var js koden..

behövs den andra koden, dvs meny.asp?*******

MizzKMedlem sedan juni 2003410 inlägg
#5

sidan som menyn skall ligga på ligger på http://vip.hh.se

MizzKMedlem sedan juni 2003410 inlägg
#6

inga felmeddelanden heller

MizzKMedlem sedan juni 2003410 inlägg
#7

urklipp hur den andra koden ser ut..

<tr>
<td width="100%" height="19">
<a href="#" onclick="return showHide('sub1');"><img src="grund\meny\bilder\beige_dot.gif" alt="dot"> <b>Programmet</b></a>
</td>
</tr>
<tr id="sub1">
<td width="100%" height="19">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" align="right">
<a href="main.asp?cat=web&ucat=html"><b>Kurser</b></a>    
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" align="right">
<a href="main.asp?cat=web&ucat=html"><b>Student</b></a>    
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" align="right">
<a href="main.asp?cat=web&ucat=html"><b>Utlandsstudier</b></a>    
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" align="right">
<a href="main.asp?cat=web&ucat=html"><b>C-uppsater</b></a>    
</td>
</tr>

JojoxxMedlem sedan juni 20004 308 inlägg
#8

onload-funktionerna krockar. Du har en onload i body-taggen och en definierad i scriptet. Ta bort onload från <body> och lägg det i scriptet istället;

window.onload=function(){ 
	MM_preloadImages('bilder/Knappar/images/hem_knapp_01-over.gif','bilder/Knappar/images/prog_knapp_01-over.gif','bilder/Knappar/images/studie_knapp_01-over.gif','bilder/Knappar/images/kontakt_knapp_01-over.gif','bilder/Knappar/images/VIP_knapp_01-over.gif','bilder/Knappar/images/nollning_knapp_01-over.gif','bilder/Knappar/images/progf_knapp_01-over.gif','bilder/Knappar/images/forum_knapp_01-over.gif','bilder/Knappar/images/lankar_01-over.gif');
	find(); 
};
MizzKMedlem sedan juni 2003410 inlägg
#9

det tillhör den "gamla menyn" kanske kan ta bort det helt och hållet då?

om jag skall lägga det i scriptet, var lägger jag d då?

MizzKMedlem sedan juni 2003410 inlägg
#10

testade med att ta bort det från body tagen men det hjälpe inte.. vad gör man då?

JojoxxMedlem sedan juni 20004 308 inlägg
#11

Du kan lägga upp en testa-sida med scriptet och sidan i sin helhet och länka till. Det kan vara mer saker runt omkring som krockar.

Ett generellt tips vid felsökning är annars att ta en bit i taget. Som när du i det här fallet har en meny som fungerar. Använd den och lägg sedan till bit för bit med resten av sidan så ser du när det slutar fungera.

MizzKMedlem sedan juni 2003410 inlägg
#12

här e länken till sidan.. la endast upp lite av sidan, så bilderna fattas.. http://www.thunderspot.net/vip1/nollning.asp, iof var menyn problemet.. =)))

JojoxxMedlem sedan juni 20004 308 inlägg
#13

Scriptet "inc/menu.js" som du försöker länka in finns inte där det skall ligga (http://www.thunderspot.net/vip1/inc/menu.js). Men lägger jag in scriptet manuellt på sidan funkar det...

MizzKMedlem sedan juni 2003410 inlägg
#14

mm, vet hittade det felet med =) men tack iaf..
nu har jag ett annat problem istället.. får inte länkningen att stämma.. när jag länkar till en ny sida så försvinner expanderingen.. vilket den inte skall göra.. det skall ju synas att jag är inne på just den knappen.. tror att det har ngt med asp att göra.. kan ni lösningen så e jag tacksam.. annars får jag leta vidare =))

JojoxxMedlem sedan juni 20004 308 inlägg
#15

Jag tycker det ser ut som tanken med scriptet är att du skall länka till sidan med en query-string som innehåller ex. ?cat=web eller ?cat=about för att funktionen find() skall kunna leta reda på vilken meny som skall expanderas. Finns det någon form av dokumentation varifrån du fått scriptet borde dock detta stå. Prova det, alltså länka till sidan.asp?cat=web ...osv

MizzKMedlem sedan juni 2003410 inlägg
#16

ska testa, men skall jag includera menyn i på varje sida?
för när jag gör det laddar menyn om och blir icke exponerad

JojoxxMedlem sedan juni 20004 308 inlägg
#17

På alla sidor som använder menyn måste koden till den finnas med ja :) Antingen direkt på sidan, eller som inkluderad fil.

MizzKMedlem sedan juni 2003410 inlägg
#18

som sagt blir icke exp då..

JojoxxMedlem sedan juni 20004 308 inlägg
#19
  1. Du har definierat meny 2 med;
["sub2","cat","about"],

Men just denna saknas sedan på sidan (<tr id="sub2" ...)

  1. Du bör kanske sätta display:none; på menyerna så att inte alla visas när sidan laddas. Ex;
<tr id="sub1" style="display:none;">

... och likadant för samtliga menyer.

Med dessa modifieringar, samt att scriptet finns tillgängligt, antingen direkt på sidan eller inkluderat, så fungerar det.

MizzKMedlem sedan juni 2003410 inlägg
#20

sub2 ska inte finnas med för att jag har inga submenyer där.. innan du skrev ditt meddelande så lyckades jag få den att expandera som den skall, men det fungerar endast på en submeny när jag klickar på den andra så händer inget...
ska testa det andra du sa =)

tusen tack för all hjälp =))

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