2012-09-05 51 views
28

Tôi muốn biết loại phương pháp nào tôi nên sử dụng để có được giá trị của kiểu CSS. Tôi muốn thiết lập nó để jQuery để tôi có thể tạo điều kiện để phù hợp trên CSS "trái" giá trị.cách lấy giá trị của phong cách css bằng cách sử dụng jquery

Đây là thẻ CSS và HTML có thuộc tính kiểu.

<div class="items" style="left: -900px"> <span>some content here</span> </div> 

Đây là mã jQuery của tôi để lấy giá trị.

<script> 
    var n = $("items").css("left"); 
    if(n == -900){ 
    $(".items span").fadeOut("slow"); 
    } 
</script> 

Tôi muốn biết phương pháp này có đúng không vì nó không hoạt động. Cảm ơn trước vì sự giúp đỡ nhỏ.

Lưu ý: trái giá trị là năng động, và nó đã thay đổi đối với các giá trị: -900px, -1800px, -2700px, -3600px, -4500px ...

+0

Do u muốn giá trị của thuộc tính, HOẶC vị trí thực tế? –

Trả lời

25

Tôi nghi ngờ css hiểu chính mình là tự mình. Bạn cần phải sử dụng nó chỉ định vị trí. Bạn đang sử dụng .css() một cách chính xác

position: relative/absolute/whatever; 
left: 900px; 

heres một fiddle của nó làm việc

http://jsfiddle.net/gFLZe/

và không có vị trí ở đây là những gì bạn nhận được

http://jsfiddle.net/gkkm5/

Thay đổi của bạn nếu tuyên bố là như thế này - với dấu ngoặc kép quanh -900px

var n = $("items").css("left"); 

if(n == '-900px'){ 
    $(".items span").fadeOut("slow"); 
} 

http://jsfiddle.net/gFLZe/1/

+0

Có, thực sự vị trí của chính nó đã được mã hóa tại plugin tôi đang sử dụng .. mặc dù tôi phải tùy chỉnh đầu ra để làm cho mỗi nội dung có hình ảnh khác nhau. – iMarkDesigns

+1

Sau đó, mã của bạn sẽ hoạt động tốt http://jsfiddle.net/gFLZe/1/ –

+0

@ user852916 Tôi đã cập nhật câu trả lời của mình để sửa nó cho bạn –

0

Vâng, bạn nói đúng. Với phương thức css(), bạn có thể truy xuất giá trị css mong muốn được lưu trữ trong DOM. Bạn có thể đọc thêm về điều này tại: http://api.jquery.com/css/

Nhưng nếu bạn muốn nhận được vị trí của nó, bạn có thể kiểm tra các phương pháp offset()position() để có vị trí của nó.

+0

Không. Sai lầm của anh ấy là viết "các mục", tìm kiếm từ khóa * * lần, thay vì viết ".items" để ghi lại lớp * mục *. Tất cả sự khác biệt nằm trong dấu chấm. – pashute

3

Mã của bạn là chính xác. thay thế các mặt hàng bằng .items như bên dưới

<script> 
    var n = $(".items").css("left"); 
    if(n == -900){ 
    $(".items span").fadeOut("slow"); 
    } 
</script> 
Các vấn đề liên quan