Foros del Web » Programando para Internet » Javascript »

onmouseover con li

Estas en el tema de onmouseover con li en el foro de Javascript en Foros del Web. Hola que tal, en esta ocasión voy a usar mi mensaje numero 1000 para una pregunta que me tiene con un buen de problemas, la ...
  #1 (permalink)  
Antiguo 18/07/2007, 14:06
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
onmouseover con li

Hola que tal, en esta ocasión voy a usar mi mensaje numero 1000 para una pregunta que me tiene con un buen de problemas, la duda es la siguiente:

Tengo el siguiente menú con listas

Código:
<ul id="nav">
	<li id="tomar" onMouseOver="tomarID('tomar')" onmouseout="quitarID('tomar')">menu 1
		<ul>
			<li><a href="">submenu 1</a></li>
			<li><a href="">submenu 2</a></li>
		</ul>
	</li>

	<li id="tomar2" onmouseover="tomarID('tomar2')" onmouseout="quitarID('tomar2')">menu 2
		<ul>
			<li><a href="">submenu 1</a></li>
			<li><a href="">submenu 2</a></li>
		</ul>
	</li>

</ul>
el cual uso con CSS y suckerfish, con css ya domine el <li> que se encuentra dentro del <ul> con un hover para cambiar de color cada que paso el mouse sobre la etiqueta principal, pero en IE no funciona, y por eso recurrí al javascript, pero para mi sorpresa, esta linea tampoco funciona en IE: <li id="tomar" onMouseOver="tomarID('tomar')" onmouseout="quitarID('tomar')">, por eso necesito su ayuda, también, este es mi script para que me auxilien

Código:
<script language="javascript" type="text/css">
function tomarID(id)
{

	document.getElementById(id).style.background = "#000000";
	document.getElementById(id).style.color = "#FFFFFF";

}
function quitarID(id)
{
	document.getElementById(id).style.background = "#CCC";
	document.getElementById(id).style.color = "#000";
}
</script>

no se si sea por el encapsulado este:

Código:
<ul id="nav">
<li id="tomar" onMouseOver="tomarID('tomar')" onmouseout="quitarID('tomar')">menu 1
o que cosa, pero no me queda, les agradezco de una vez su ayuda.
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #2 (permalink)  
Antiguo 18/07/2007, 18:34
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: onmouseover con li

Hola erick_arcini, felicidades por tu kilo de mensajes aquí

Éste código me ha funcionado a la perfección, tanto en IE6 como en FF2:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
<
head>
<
titlePágina nueva </title>
<
meta name="Author" content="derkeNuke">
<
style type="text/css">
</
style>
</
head>

<
body>

<
ul id="nav">
    <
li id="tomar" onMouseOver="tomarID('tomar')" onmouseout="quitarID('tomar')">menu 1
        
<ul>
            <
li><a href="">submenu 1</a></li>
            <
li><a href="">submenu 2</a></li>
        </
ul>
    </
li>

    <
li id="tomar2" onmouseover="tomarID('tomar2')" onmouseout="quitarID('tomar2')">menu 2
        
<ul>
            <
li><a href="">submenu 1</a></li>
            <
li><a href="">submenu 2</a></li>
        </
ul>
    </
li>

</
ul>


<
script type="text/javascript">


function 
tomarID(id){
    
document.getElementById(id).style.background "#000000";
    
document.getElementById(id).style.color "#FFFFFF";
}
function 
quitarID(id){
    
document.getElementById(id).style.background "#CCC";
    
document.getElementById(id).style.color "#000";
}


</script>
</body>
</html> 
Aunque todavía tendríamos una opción para hacer un poco más cómoda la rutina, utilizando this:

Código PHP:
function tomarID(obj){
    
obj.style.background "#000000";
    
obj.style.color "#FFFFFF";
}
function 
quitarID(obj){
    
obj.style.background "#CCC";
    
obj.style.color "#000";

Y al llamarlo:
Código PHP:
<li id="tomar" onMouseOver="tomarID(this)" onmouseout="quitarID(this)"

¿No es ésto lo que querías conseguir?


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 19/07/2007, 09:04
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: onmouseover con li

El código como lo colocaste al principio es como yo lo tengo actualmente, en el caso del segundo cuando usas "this" hace lo mismo. es decir, nada...

si gustas puedes probarlo directo de mi web, revisale el código y es lo mismo que tu estas colocando...
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.

Última edición por erick_arcini; 19/07/2007 a las 09:20
  #4 (permalink)  
Antiguo 19/07/2007, 10:00
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Re: onmouseover con li

Hola, yo de nuevo, lo he resuelto colocando mejor una etiqueta <a href> para que me sea aceptado en los navegadores, en este caso IE, de todas formas dejo el link para que observen la estructura del menú. ahora si, ya estoy listo para comenzar a finalizar el proyecto, de todas formas muchas gracias por la ayuda derkenuke, me sirvió también para ver el funcionamiento de "this", al igual que rootk, ya te encuentras en mi lista de privilegiados
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
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 10:02.