Foros del Web » Programando para Internet » Javascript »

llamada javascript dentro de javascript

Estas en el tema de llamada javascript dentro de javascript en el foro de Javascript en Foros del Web. Buenas a todos!!! Me ha surgido un problema os cuento Tengo un menu en la web, y en el tercer elemento un submenu desplegable. Hice ...
  #1 (permalink)  
Antiguo 31/08/2011, 04:36
 
Fecha de Ingreso: agosto-2010
Ubicación: Barcelona
Mensajes: 22
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta llamada javascript dentro de javascript

Buenas a todos!!!

Me ha surgido un problema os cuento

Tengo un menu en la web, y en el tercer elemento un submenu desplegable.
Hice una función javascript que pinta el menú, dentro de un <li> de esta función hice una llamada a la otra función que pinta el submenú.

Mi pregunta es: Como puedo hacer para que desde la pàgina htm, le de el valor necesario a ese parámetro?

os pongo el codigo de las dos funciones:

Función que pinta el menú:

Código Javascript:
Ver original
  1. function menu(opcion) {
  2.     var str ="";
  3.     str+='<ul>';
  4.  
  5.     if(opcion == "home"){
  6.         str+='<li class="actiuInici">Inici</li>';  
  7.     }else{
  8.         str+='<li><a href="/" title="Inici">Inici</a></li>';           
  9.     }
  10.         if(opcion == "quies"){
  11.         str+='<li class="actiu">Qui &eacute;s la Gata?</li>';  
  12.     }else{
  13.         str+='<li><a href="/qui-es-la-gata.htm" title="Qui &eacute;s la Gata?">Qui &eacute;s la Gata?</a></li>';
  14.     }
  15.         if(opcion == "espectacles"){
  16.         str+='<li id="espectaclesId" class="actiu">Espectacles i companyies';
  17.         str+='<script type=\"text/javascript\">submenuEspectaclesActiu(\'circo\');</script>';
  18.         str+='</li>';
  19.     }else{
  20.         str+='<li id="espectaclesId"><a href="/espectacles-i-companyies.htm" title="Espectacles i companyies">Espectacles i companyies</a>';
  21.         str+='<script type=\"text/javascript\">submenuEspectacles(\'circo\');</script>';
  22.         str+='</li>';
  23.     }
  24.         if(opcion == "premsa"){
  25.         str+='<li class="actiu">Premsa</li>';
  26.     }else{
  27.         str+='<li><a href="/prensa.htm" title="Premsa">Premsa</a></li>';
  28.     }
  29.         if(opcion == "contacta"){
  30.         str+='<li class="actiu">Contacta\'ns</li>';
  31.     }else{
  32.         str+='<li><a href="/contacte.htm" title="Conctacta">Contacta\'ns</a></li>';
  33.     }
  34.         if(opcion == "facebook"){
  35.         str+='<li><a href="#" target="_blank" title="Segueix-nos a Facebook">Segueix-nos a Facebook</a><a class="fb" href="#" title="Segueix-nos a Facebook"><img src="img/fb.jpg" width="26" height="26" border="0" /></a></li>';
  36.     }else{
  37.         str+='<li><a href="#" target="_blank" title="Segueix-nos a Facebook">Segueix-nos a Facebook</a><a class="fb" href="#" title="Segueix-nos a Facebook"><img src="img/fb.jpg" width="26" height="26" border="0" /></a></li>';
  38.     }
  39.        
  40.     document.write(str);
  41. }

Aquí la función del submenú:

Código Javascript:
Ver original
  1. function submenuEspectaclesActiu(opcionEspectacles) {
  2.     var str4 ="";
  3.     str4+='<ul id="moreMenu" class="activat">';
  4.     if(opcionEspectacles == "carrer"){
  5.         str4+='<li class="actiu">Carrer</li>'; 
  6.     }else{
  7.         str4+='<li><a href="/carrer.htm" title="Carrer">Carrer</a></li>';
  8.     }
  9.         if(opcionEspectacles == "circ"){
  10.         str4+='<li class="actiu">Circ</li>';
  11.     }else{
  12.         str4+='<li><a href="/circ.htm" title="Circ">Circ</a></li>';
  13.     }
  14.         if(opcionEspectacles == "clown"){
  15.         str4+='<li class="actiu">Clown</li>';
  16.     }else{
  17.         str4+='<li><a href="/clown.htm" title="Clown">Clown</a></li>';
  18.     }
  19.         if(opcionEspectacles == "dansa"){
  20.         str4+='<li class="actiu">Dansa</li>';
  21.     }else{
  22.         str4+='<li><a href="" title="Dansa">Dansa</a></li>';
  23.     }
  24.         if(opcionEspectacles == "musica"){
  25.         str4+='<li class="actiu">M&uacute;</li>';
  26.     }else{
  27.         str4+='<li><a href="/musica.htm" title="M&uacute;">M&uacute;sica</a></li>';
  28.     }
  29.    
  30.     if(opcionEspectacles == "teatre"){
  31.         str4+='<li class="actiu">Teatre</li>';
  32.     }else{
  33.         str4+='<li><a href="/teatre.htm" title="Teatre">Teatre</a></li>';
  34.     }
  35.    
  36. str4+='</ul>';
  37.     document.write(str4);
  38. }

Gracias
  #2 (permalink)  
Antiguo 31/08/2011, 06:13
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: llamada javascript dentro de javascript

Mete ambas funciones en un mismo .js

Y le haces el llamado normal

Eje:
Código Javascript:
Ver original
  1. function b(parametro)
  2. {
  3. //aca lo de la funcion b
  4. }
  5. function a()
  6. {
  7. //Todo lo de la funcion a
  8.   b(parametro) // llamando la funcion b
  9.  
  10. }
  #3 (permalink)  
Antiguo 31/08/2011, 06:19
 
Fecha de Ingreso: agosto-2010
Ubicación: Barcelona
Mensajes: 22
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: llamada javascript dentro de javascript

Hola oscarbt, gracias por la respuesta/ayuda.

Lo tengo todo dentro de un mismo js y aun asi no funciona, el problema creo que es al llamar a la segunda función no me reconoce el parámetro, pero el alert que puse me dice que si.

No entiendo

Aquí puedes verlo gracias.

http://nuria.grafik-oh.com/
  #4 (permalink)  
Antiguo 31/08/2011, 06:49
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: llamada javascript dentro de javascript

Una preguntica:
la funcion que se llama dentro de la otra, es para desplegar opciones del menu??
Y si colocas el llamado dentro del href??

<a href='javascript:submenuEspectacles("circo")'>Espe ctacles i companyies</a>

no funcionaria?
  #5 (permalink)  
Antiguo 31/08/2011, 07:40
 
Fecha de Ingreso: agosto-2010
Ubicación: Barcelona
Mensajes: 22
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: llamada javascript dentro de javascript

no es para desplegar, es para que quede seleccionado el menu de la página actual!

Etiquetas: funciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.