15. juni 2008 - 21:22 
												Der er
									15  kommentarer													og 					1  løsning									 
									
		 
		
			
clikmenu virker ikke 
			Hej eksperter jeg kunne godt tænke mig at få min menu til at åbne og lukke i samme script når man kilkker på linket jeg har kæmpet mig blind på det jeg har lavet og kan ikke få det til at virke  function clikmenu(elmnt){ if(document.getElementById(elmnt).style.visibility='hidden') { document.getElementById(elmnt).style.visibility='visible'; }else{ document.getElementById(elmnt).style.visibility='hidden'; } } Hilsen jobb
					
		
	 
Annonceindlæg tema 
 
Forsvar & beredskab 
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
 
 
	
		
		
			Du kan ikke bruge getElementById() på den måde. getElementById() tager en streng som parameter, ikke et objekt. Brug elmnt.style.visibility i stedet og onclick="clickmenu(this);" /Hallandsen
		
		
	 
	
		
		
			<ole> hr__hallandsen >> og da 'elmnt' meget sandsynligt er en streng, kan man i dén grad bruge getElementById() på den måde. Uden at vide, hvordan spørgeren kalder funktionen, er der vist ingen, der kan siger ret meget begavet om, hvad der skal gøres  ;o) jobb >> Prøv at vise noget mere kode  =) /mvh </bole>
		
		
	 
	
		
		
			olebole >> ja, det er da muligt. Jeg skrev som jeg gjorde, da jeg selv ville bruge "this". Men kunne det så ikke skyldes, at der i if-sætningen er brugt tildelingsoperatoren "=" i stedet for sammenligningsoperatoren "==", så udtrykket altid vil returnere true? /Hallandsen
		
		
	 
	
		
		
			Som hr_hallandsen påpeger, skyldes fejlen vel, at du ikke bruger "==" i if-sætningen, men kun "=". I øvrigt kan det gøres noget kortere: function clikmenu(elmnt){   elmnt=document.getElementById(elmnt);   elmt.style.visibility=elmt.style.visibility=="hidden"?"visible":"hidden"; }
		
		
	 
	
		
		
			Men som det også er nævnt, kunne du måske med fordel overføre "this" til funktionen og på den vis nøjes med funktionen: function clikmenu(o){   o.style.visibility=o.style.visibility=="hidden"?"visible":"hidden"; }
		
		
	 
	
	
	
		
		
			function clikmenu(elmnt){   elmnt=document.getElementById(elmnt);   elmt.style.visibility=elmt.style.visibility=="hidden"?"visible":"hidden"; } skulle i øvrigt være: function clikmenu(o){   o=document.getElementById(o);   o.style.visibility=o.style.visibility=="hidden"?"visible":"hidden"; }
		
		
	 
	
		
		
			- eller: function clikmenu(o){   if (typeof o=="string") o=document.getElementById(o);   o.style.visibility=o.style.visibility=="hidden"?"visible":"hidden"; }
		
		
	 
	
		
		
			Jeg får en objekt fejl når jeg smider scriptet ind jeg kalder med denne her <td rowspan="2"  onmousedown="clikmenu('profil')">    <a href="#"><img src="images/one_10.gif" width="112" height="40" alt="" border="0"></a><br>    <table class="menu" id="profil" cellspacing="0" cellpadding="0">    <tr><td class="menu"><a href="#"><img src="images/under_1.gif" width="112" height="178" alt="" border="0"></a></td></tr>    </table>   </td> og min class menu er hidden til at starte med
		
		
	 
	
		
		
			Hvilken objekt-fejl får du og hvilken linje?
		
		
	 
	
		
								
					
				16. juni 2008 - 18:09  
				#10 
						
		 
		
			linie 49 og et objekt var ventet...
		
		
	 
	
		
								
					
				16. juni 2008 - 18:13  
				#11 
						
		 
		
			denne her linie <td rowspan="2"  onmousedown="clikmenu('profil')">
		
		
	 
	
		
								
					
				16. juni 2008 - 18:35  
				#12 
						
		 
		
			Hvilken funktion har du brugt? Jeg får ingen fejl ved oleboles sidste funktion. <script type="text/javascript"> function clikmenu(o){   if (typeof o=="string") o=document.getElementById(o);   o.style.visibility=o.style.visibility=="hidden"?"visible":"hidden"; } </script> <table><tr> <td rowspan="2"  onmousedown="clikmenu('profil')" border=1>   <a href="#"><img src="images/one_10.gif" width="112" height="40" alt="" border="0"></a><br>   <table class="menu" id="profil" cellspacing="0" cellpadding="0">   <tr><td class="menu"><a href="#"><img src="images/under_1.gif" width="112" height="178" alt="" border="0"></a></td></tr>   </table>   </td> </tr></table> /Hallandsen
		
		
	 
	
		
								
					
				16. juni 2008 - 18:53  
				#13 
						
		 
		
			Åhh det var mig der havde laver en taste fejl sorry Men det driller mig stadig hvad kan det være når jeg skal trykke 2 gange første gang jeg kommer ind på siden og ellers køre den som den skal
		
		
	 
	
		
								
					
				16. juni 2008 - 22:36  
				#14 
			 				 
						
		 
		
			Så ret:   o.style.visibility=o.style.visibility=="hidden"?"visible":"hidden"; til:   o.style.visibility=o.style.visibility!="visible"?"visible":"hidden";
		
		
	 
	
		
								
					
				16. juni 2008 - 23:30  
				#15 
						
		 
		
			Jeg vil gerne dele pointene mellem jer i må gerne lægge et svar  En anden ting er hvordan får jeg hvis jeg har flere lukket de andre (hidden).
		
		
	 
	
		
								
					
				17. juni 2008 - 09:10  
				#16 
			 				 
						
		 
		
			Her er et svar! :)
		
		
	 
	
		
	
		
		
		
			
			Vi tilbyder markedets bedste kurser inden for webudvikling