2011-11-20 37 views
25

Tôi, vì một số lý do, không thể thay đổi zIndex của một phần tử bằng jQuery. Tôi đã tìm kiếm tất cả trang web này và Google nhưng không thể tìm thấy câu trả lời đúng. Tôi đang cố gắng đặt phần tử của mình trước một div khác khi nhấp vào nút. Tôi đã sử dụng mã bạn có thể xem dưới đây. Nhưng không hiệu quả.Không thể thay đổi chỉ mục z bằng JQuery

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

mã CSS của các yếu tố đó là dưới trong bắt đầu:

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

CSS code của yếu tố đó nên đi trên này:

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

Có ai biết làm thế nào tôi có thể sửa lỗi này?

// Sửa

Liên kết đến trang web: http://dannypostma.com/project/j.php

Khi nhấn vào bóng danh mục đầu tư, hai quả bóng thả từ trên không. Những điều này nên đi trước mặt nước khi được nhấp.

+2

Chào mừng bạn đến SO, và làm thế nào về một số HTML để đi với điều đó – MeLight

+0

Cảm ơn tôi đã thêm URL vào trang chứa các lỗi –

Trả lời

67

Thiết lập style.zIndex tài sản có không có tác dụng trên các yếu tố phi vị trí, tức là phần tử phải được một trong hai vị trí tuyệt đối, tương đối vị trí, hoặc cố định .

Vì vậy, tôi sẽ cố gắng:

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

Đã thử, không hoạt động. Có vẻ là một vấn đề kỳ lạ! –

+0

Thật vậy ... Sự cố có xảy ra trên tất cả các trình duyệt hay chỉ một vấn đề? – Luc125

+1

Cả Safari và Chrome đều có cùng sự cố. –

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

Đối với một số?!. lý do không hoạt động er. –

+0

Sự khác biệt giữa 'zIndex' và' z-index' không liên quan gì đến vấn đề này, ít nhất với phiên bản gần đây của jQuery – Luc125

+0

Bạn có chắc chắn về bộ chọn của mình Danny, thử $ ('# wall'). Css (' z-index ', 3000) –

2

Cú pháp Javascript không hợp lệ; tên thuộc tính không thể có -.

Sử dụng zIndex hoặc "z-index".

0

vì mã jQuery của bạn sai. đúng sẽ là:

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

Điều này vì một số lý do không hoạt động. Không có gì thay đổi. –

+0

Thử kiểm tra biếnParent, nếu nó là đối tượng nút HTML bạn đang tìm kiếm. Ngoài ra, bạn có thể xem xét jsbin.com hoặc một số dịch vụ khác để cho chúng tôi biết chính xác những gì đang diễn ra. – adrian7

0

zIndex là một phần của ký hiệu JavaScript (camelCase)
nhưng jQuery.css sử dụng tương tự như cú pháp CSS..
để nó là z-index.

bạn quên .css ("attr", "value"). sử dụng 'hay "trong cả hai, attr và val. như vậy, .css("z-index","3000");

+0

, tôi đọc ở đâu đó. mặc dù, '$ (" nội dung ") .ss (" borderRight "," mỏng đen cứng ");' và '$ (" body ") .ss (" border-right "," thin solid red ") ; 'cả hai hoạt động vì vậy tôi nghĩ' zIndex' và 'z-index' cũng vậy. –

+0

kết hợp ở trên bình luận với dòng cuối cùng trong câu trả lời và thì đấy! –

+0

Không khắc phục được sự cố cho tôi. Tôi đã thêm trang web nơi sự cố xảy ra. Hy vọng rằng có thể giúp đỡ. –

Các vấn đề liên quan