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

Reply via email to