Foros del Web » Programando para Internet » Javascript »

Cambiar identificación de clase

Estas en el tema de Cambiar identificación de clase en el foro de Javascript en Foros del Web. Hola. Tengo este código en un archivo php que debe cambiar la identificación de la clase glink a glinkact cuando pulso el botón correspondiente. El ...
  #1 (permalink)  
Antiguo 23/02/2012, 12:45
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 14 años, 8 meses
Puntos: 0
Cambiar identificación de clase

Hola.

Tengo este código en un archivo php que debe cambiar la identificación de la clase glink a glinkact cuando pulso el botón correspondiente.
El código funciona pero sólo hasta el boton9. El 10 y 11 no produce ningún cambio y no sé porqué. ¿Alguna idea?

Código php:
Ver original
  1. <script type="text/javascript">
  2. var n=12
  3. function hazFilaCSS()
  4. {   var tx = '<div id="formfilaenlaces">'          
  5.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(1); ehandler(event,menuitem1);" title="<? echo $menu1; ?>"><a id="boton1" class="glink"><img src="web_archives/img/botones/botones/01.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="66" height="66" alt="<? echo $menu1; ?>" title="<? echo $menu1; ?>" /></a></div></div>'
  6.     tx += '<div class="botoneslink"><div class="boton" onclick="eligeCSS(2); ehandler(event,menuitem2);" title="<? echo $menu2; ?>"><a id="boton2" class="glink"><img src="web_archives/img/botones/botones/02.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="73" height="66" alt="<? echo $menu2; ?>" title="<? echo $menu2; ?>" /></a></div></div>'
  7.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(3); ehandler(event,menuitem3);" title="<? echo $menu3; ?>"><a id="boton3" class="glink"><img src="web_archives/img/botones/botones/03.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="59" height="66" alt="<? echo $menu3; ?>" title="<? echo $menu3; ?>" /></a></div></div>'
  8.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(4); ehandler(event,menuitem4);" title="<? echo $menu4; ?>"><a id="boton4" class="glink"><img src="web_archives/img/botones/botones/04.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="69" height="66" alt="<? echo $menu4; ?>" title="<? echo $menu4; ?>" /></a></div></div>'
  9.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(5); ehandler(event,menuitem5);" title="<? echo $menu5; ?>"><a id="boton5" class="glink"><img src="web_archives/img/botones/botones/05.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="60" height="66" alt="<? echo $menu5; ?>" title="<? echo $menu5; ?>" /></a></div></div>'
  10.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(6); ehandler(event,menuitem6);" title="<? echo $menu6; ?>"><a id="boton6" class="glink"><img src="web_archives/img/botones/botones/06.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="60" height="66" alt="<? echo $menu6; ?>" title="<? echo $menu6; ?>" /></a></div></div>'
  11.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(7); ehandler(event,menuitem7);" title="<? echo $menu7; ?>"><a id="boton7" class="glink"><img src="web_archives/img/botones/botones/07.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="66" height="66" alt="<? echo $menu7; ?>" title="<? echo $menu7; ?>" /></a></div></div>'
  12.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(8); ehandler(event,menuitem8);" title="<? echo $menu8; ?>"><a id="boton8" class="glink"><img src="web_archives/img/botones/botones/08.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="74" height="66" alt="<? echo $menu8; ?>" title="<? echo $menu8; ?>" /></a></div></div>'
  13.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(9); ehandler(event,menuitem9);" title="<? echo $menu9; ?>"><a id="boton9" class="glink"><img src="web_archives/img/botones/botones/09.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="56" height="66" alt="<? echo $menu9; ?>" title="<? echo $menu9; ?>" /></a></div></div>'
  14.     tx += '<div class="botoneslink"><div class="boton" onClick="eligeCSS(10); ehandler(event,menuitem10);" title="<? echo $menu10; ?>"><a id="boton10" class="glink"><img src="web_archives/img/botones/botones/10.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="79" height="66" alt="<? echo $menu10; ?>" title="<? echo $menu10; ?>" /></a></div></div>'
  15.     tx += '<div class="botoneslink"><div class="botonfinal" onClick="eligeCSS(11); ehandler(event,menuitem11);" title="<? echo $menu11; ?>"><a id="boton11" class="glink"><img src="web_archives/img/botones/botones/11.<? if ($ie<7) echo "gif"; else echo "png"; ?>" width="82" height="66" alt="<? echo $menu11; ?>" title="<? echo $menu11; ?>" /></a></div></div>'
  16.     tx += '</div>'
  17.     document.writeln(tx)  
  18. }
  19. function eligeCSS(j)
  20. {   for (i=1;i<n;i++)
  21.     {   var celda=document.getElementById('boton'+i)
  22.         if (i==j) celda.className="glinkact"
  23.         else celda.className="glink"
  24.     }
  25. }
  26. </script>
  27. <script type="text/javascript">hazFilaCSS()</script>

Un saludo.

Última edición por barje; 23/02/2012 a las 13:07
  #2 (permalink)  
Antiguo 23/02/2012, 13:30
 
Fecha de Ingreso: julio-2009
Mensajes: 36
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Cambiar identificación de clase

He comprobado que si cambio esto funciona:

Código Javascript:
Ver original
  1. function eligeCSS(j)
  2. {   for (i=1;i<n+3;i++)
  3.     {   var celda=document.getElementById('boton'+i)
  4.         if (i==j) celda.className="glinkact"
  5.         else celda.className="glink"
  6.     }
  7. }
Pero no entiendo porqué tengo que poner n+3. En teoría debería hacerlo siempre que i<n siendo n=12 y 11 el valor máximo de i. Por lo tanto 11 veces, que es lo que necesito.

¿Alguna explicación?

Un saludo.

Etiquetas: clase, funcion, php, botones
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 05:22.