2011-11-20 15 views
25

Yo, por alguna razón, no puedo cambiar el zIndex de un elemento usando jQuery. He buscado en todo este sitio web y en Google, pero no he podido encontrar la respuesta correcta. Estoy tratando de poner mi elemento en frente de otro div al hacer clic en un botón. Usé el código que puedes ver aquí. Pero no funcionó.No se puede cambiar el índice Z con JQuery

$(this).parent().css('zIndex',3000); 

código CSS de los elementos que está bajo en el inicio: Código

#wall{ 
    width:100%; 
    height:700px; 
    position: absolute; 
    top:500px; 
    background: #11c1e7; 
    opacity: 0.6; 
    z-index: 900; 
    } 

CSS del elemento que debe ir por encima de esto:

.port1 { 
width:200px; 
height:200px; 
left:<?php echo rand(1,1000); ?>px; 
top:-500px; 
border-radius: 500px; 
background:red; 
position:absolute; 
z-index: 10; 
} 

¿Alguien sabe cómo puedo solucionar esto?

// Editar

Enlace al sitio: http://dannypostma.com/project/j.php

Al hacer clic en la pelota de cartera, dos bolas de caer desde el aire. Estos deben ir en frente del agua cuando se hace clic.

+2

Bienvenido al SO, y cómo sobre algo de HTML que ir con esa – MeLight

+0

Gracias he añadido la URL de la página que contiene el error –

Respuesta

67

Establecer la propiedad style.zIndex tiene ningún efecto en elementos no posicionado, es decir, el elemento debe ser ya sea absolutamente posicionado, relativamente posicionada, o fijado .

Así que me gustaría probar:

$(this).parent().css('position', 'relative'); 
$(this).parent().css('z-index', 3000); 
+1

Lo intenté, no funcionó. ¡Parece ser un problema extraño! –

+0

De hecho ... ¿El problema ocurre en todos los navegadores o solo en uno? – Luc125

+1

Tanto Safari como Chrome tienen el mismo problema. –

2
$(this).parent().css('z-index',3000); 
+0

Por alguna?!. razón por la que no funciona eith er. –

+0

La diferencia entre 'zIndex' y' z-index' no tiene nada que ver con el problema, al menos con una versión reciente de jQuery – Luc125

+0

¿Estás seguro de tu selector Danny, prueba $ ('# wall'). Css (' z-index ', 3000) –

2

No es válida la sintaxis de Javascript; un nombre de propiedad no puede tener un -.

Utilice zIndex o "z-index".

0

porque su código jQuery es incorrecto. correctamente sería:

var theParent = $(this).parent().get(0); 
$(theParent).css('z-index', 3000); 
+0

Esto por alguna razón tampoco funciona. Nada está cambiando. –

+0

Intente comprobar la variable de Parent, si es el objeto de nodo HTML que está buscando. También puede considerar jsbin.com o algún otro servicio para mostrarnos exactamente lo que está sucediendo. – adrian7

0

zIndex es parte de la notación Javascript (camelCase)
pero jQuery.css utiliza igual que la sintaxis de CSS..
así que es z-index.

has olvidado .css ("attr", "value"). utilizar 'o "en ambos, attr y val. Por lo tanto, .css("z-index","3000");

+0

bueno, lo leí en alguna parte. though, '$ (" cuerpo "). Css (" borderRight "," thin solid black ");' y '$ (" cuerpo "). Css (" borde-derecha "," rojo sólido delgado ") ; 'both works así que creo que' zIndex' y 'z-index' también deberían. –

+0

combina el comentario anterior con la última línea en respuesta y listo! –

+0

No me solucionó el problema. Agregué el sitio donde ocurre el problema. Espero que pueda ayudar. –

Cuestiones relacionadas