Hola Leandro Muchas gracias por la ayuda con el script aunque todavia no consigo hacerlo funcionar
function toggleActive(element) { var container = document.getElementById('restaurant_menu'); var othersElement = container.getElementByTagName('li'); for (var i=0; i< othersElement.lenght; i++){ if(othersElement[i].className == 'activo') { // si la tiene se la cambiamos a noactive othersElement[i].className = 'noactive'; } } element.className = 'activo'; } Las funciones setTab si las carga pero la toggleactive la ignora <ul id="restaurant_menu"> <li class="noactive"><a onClick='setTabMenu();toggleActive(this);return false;' href="#">Menu</a></li> <li class="noactive"><a onClick='setTabPresetMenu();toggleActive(this);return false;' href="#">Preset Menu</a></li> <li class="noactive"><a onClick='setTabChef();toggleActive(this);return false;' href="#">chef's profile</a></li> </ul> un saludo y gracias nuevamente El día 3/07/07, Leandro Asrilevich <[EMAIL PROTECTED]> escribió: > > Me falto terminar te paso como lo haria yo... > > fijate lo de return false, es para que no se ejecute el link como lo haria > normalemnte.. (osea ir a #) > > la llamada a funciones en el onclick hace que primero se ejcute lo de > setear > el active y luego llama a tu funcion en ruby... > > abajo te pongo la funcion para cambiar la clase comentada paso por paso... > > <ul id="restaurant_menu"> > <li class="noactive"><a onClick='toggleActive(this); setTabMenu(); > return false;' href="#">Menu</a></li> > <li class="noactive"><a onClick='toggleActive(this); > setTabPresetMenu(); > return false;' href="#">Preset Menu</a></li> > <li class="noactive"><a onClick='toggleActive(this); setTabChef(); > return false;' href="#">chef's profile</a></li> > </ul> > > y en js.. > > function toggleActive(element) { > // obtenemos la referencia al ul contendor > var container = document.getElementById('restaurant_menu'); > // obtenemos los li dentro de ese ul > var othersElement = container.getElementByTagName('li'); > // recorremos los li > for (var i=0; i< othersElement.lenght; i++){ > // controlamos si tiene la clase active > if(othersElement[i].className == 'active') { > // si la tiene se la cambiamos a noactive > othersElement[i].className = 'noactive'; > } > } > // por ultimo le ponemos la clase active a el link que disparo el > onclick y que recivimos como parametro > element.className = 'active'; > } > > > On 7/2/07, Fernando Seves <[EMAIL PROTECTED]> wrote: > > > > Buenas, > > > > Estoy trabajando en sitio web donde tengo el siguiente menu > > > > <ul id="restaurant_menu"> > > <li class="noactive"><a > > onClick='setTabMenu();' href="#">Menu</a></li> > > <li class="noactive"><a > > onClick='setTabPresetMenu();' href="#">Preset Menu</a></li> > > <li class="noactive"><a > > onClick='setTabChef();' href="#">chef's profile</a></li> > > </ul> > > > > Los onClick son llamadas a funciones de javascript que cargan el > > correspondiente código de Ruby. > > > > Mi intención es hacer que cuando yo pulse en un enlace de este menú ( es > > decir cargue una función) el script situado en esta función haga lo > > siguiente: > > > > 1. Chequee las class de los li de esta lista y detecte si hay alguno que > > tenga el id "active" (es decir estado pulsado) y lo cambie a "noactive" > > 2. Cambie la class de este li a "active" para dejarlo "marcado" > > > > Había pensado en un código parecido a este: > > > > var estado = document.GetElementByAttribute("class","active"); > > for (estado i=0 i< estado.lenght; i++){ > > var id = estado[i].getAttribute("class"); > > if (id) { > > estado[i].setAttribute("class","noactive"); > > } > > } > > document.getElementByAttribute > > ('class').setAttribute("class","active"); > > > > Aunque me temo que estoy haciendo algo mal.... > > > > Un saludo y gracias. > > > > <[EMAIL PROTECTED]> > > _______________________________________________ > > Lista de distribución Ovillo > > Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org > > Puedes modificar tus datos o desuscribirte en la siguiente dirección: > > http://lists.ovillo.org/mailman/listinfo/ovillo > > > > > > -- > _____________________________________ > > Leandro Asrilevich > Web & Multimedia Developer > Movil: +54 (11) 15 6161-9998 > Tel: +54 (11) 4307-3085 > > Web: www.beastx.com.ar > MSN: [EMAIL PROTECTED] > Skype User: leandro.asrilevich > > Defensa 1805 PB "E" > Capital Federal - Buenos Aires - Argentina > _______________________________________________ > Lista de distribución Ovillo > Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org > Puedes modificar tus datos o desuscribirte en la siguiente dirección: > http://lists.ovillo.org/mailman/listinfo/ovillo > -- skype >> arbaa4 www.sevtov.com [EMAIL PROTECTED] _______________________________________________ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo