Comunidad de diseño web y desarrollo en internet online

Menu dinámico, efecto seleccionado... un hueso duro de roer.

Citar            
MensajeEscrito el 13 Jul 2009 09:48 am
hola a todos,

He visto muchas páginas con menús dinámicos y administrable.
pero en todos los menús que he visto, no hay ninguno que funcione como un menú estático,

Me explico mejor!!

Cuando pulsas un botón podemos ver los siguientes estilos, estado sobre, estado presionado, pero el
estado seleccionado no funciona porque realmente volvemos a cargar la página de nuevo, y este estilo se pierde.

la mayoría de vosotros soy grandes programadores, mi pregunta es la siguiente
?existe una solución a este tipo de problemas¿ y si la hay, cual seria esta solución.

Desde mi humilde experiencia, creo que podríamos definir una área en la base de datos definiendo el estado.
pero realmente no se como hacer lo.

Por blese

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2009 10:55 pm
pues yo tube un problema similar para un sistema en la empresa donde laboro.

lo resolvi de la siguente manera

se recaron los css con los estilos del menu y los efectos por los estados es decir .boton y .boton:hover y se creo una clase mas con las mismas caracteristicas de .boton:hover que se llamo seleccionado.

pormedio de javascritp se asignaba el estilo al seleccionado al boton presionado. para identificar que boton se presiono se utiliza una variable oculta que se pase por un formulario o se almacene en una session.

otra forma de hacerlo es pormedio de jquery o algun framework javascript al que sel epueda asignar atributos a los elementos dinamicamente.

cabe mencionar que esta tecnica no es tan eficiente ya que si el usuario no tiene activado el javascritp en su navegador no funcionara.

tambien podriamos hacerlo como lo mencionas pormedio de una tabla en base de datos pero presiento que no seria lo mas eficiente ya que hacer cambios constantes en la base de datos no es lo mas seguro, a demas que dejamos los cambios simples al server :D

aveces es mejor sacrificar diseño por funcionabilidad

Por jorhcl

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Jul 2009 08:42 pm
Muchas gracias,

Veo que se trata de algo no tan sencillo, :)

Gracias por la aclaración, muy interesante lo del Javascript , algun ejemplo que funcione ? Please :).

Muchas gracias

Por blese

11 de clabLevel



 

msie8
Citar            
MensajeEscrito el 14 Jul 2009 09:24 pm
mira crea la cascada de estilos y ya con eso creas una funcion javascript que haga el cambio debe de lllarvar algo asi

function nombre_funcion()
{
documen.getElementById("elemento").setattribute("class","estilo_con_efecto");
}

en donde elemento es el id de la etiqueta html que tomara el estilo, serattribute es una funcion de javaScript para asignar atributos a los elementos html y recibe 2 parametros el tipo de atributo (class) y el valor (estilo con efecto).

hay que tener cuidado ya que hay que buscar la compatibilidad con los 2 navegadores al momento de asignar el tipo de atributo ya que el IE no identifica el atributo como el firefox. uno es "class" y otro es className pero no recuerdo exactamente cual es.

en cuanto a jquery es un framework de javascript el cual soluciona muy bien el problema de incompatibilidad de navegadores. pero dado que es un framework tiene una manera de crear las funciones muy diferente al javascript tradicional.

si no conoces nada sobre javascript un tutorial que te puede ayudar mucho es este
http://www.javascriptya.com.ar/

ahi hay un link para un tutorial de jquery. es el que utilice para introducirme a la libreria y es muy facil y rapido de comprender a continuacion el link

http://www.javascriptya.com.ar/jquery/

Por jorhcl

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Jul 2009 09:32 pm
otra cosa que se me olvido mencionar que esta solucion por javascript es muy buena cuando se requier mostrar la misma pagina cuando es una pagina nueva lo que podemos hacer es asignar ya la clase seleccionado al link del menu correspondiente, de esta forma ya carga la pagina con el efecto del boton estatico y no hay problema con incompatibilidad de navegadores o con activaciones de javascript

Por jorhcl

28 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Jul 2009 01:51 pm
Muchas gracias :) por la info,
voy a probar que tal me va con javasript.

Gracias de nuevo .

Por blese

11 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.