2012-09-05 18 views
28

Chciałbym wiedzieć, jakiego rodzaju metody należy użyć, aby uzyskać wartość stylu CSS. Chcę ustawić ją na jQuery, aby móc tworzyć warunki do dopasowania do wartości "lewej" CSS.jak uzyskać wartość stylu css za pomocą jquery

Oto CSS i znacznik HTML z atrybutami stylu.

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

Oto mój kod jQuery, aby uzyskać wartość.

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

Chciałbym wiedzieć, czy ta metoda jest poprawna, ponieważ nie działa w moim końcu. Z góry dziękuję za niewielką pomoc.

Uwaga: lewy wartość była dynamiczna, i to do tych zmieniających się wartości: -900px, -1800px, -2700px, -3600px, -4500px ...

+0

Czy u chcą wartość atrybutu, albo aktualnej pozycji? –

Odpowiedz

25

Wątpię css rozumie left sama. Musisz użyć go określając pozycję. Używasz .css() poprawnie

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

Herezje skrzypce z nim pracuje

http://jsfiddle.net/gFLZe/

i bez pozycji oto co można dostać

http://jsfiddle.net/gkkm5/

zmienić jeśli oświadczenie takie jak to - z notowaniami około -900px

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

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

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

+0

Tak, faktycznie sama pozycja jest już zakodowana przy wtyczce, której używam .. chociaż muszę dostosować wyjście, aby każda treść miała inny wygląd. – iMarkDesigns

+1

Następnie Twój kod powinien działać poprawnie http://jsfiddle.net/gFLZe/1/ –

+0

@ user852916 Zaktualizowałem moją odpowiedź, aby to naprawić dla ciebie –

0

Tak, masz rację. Metodą css() można pobrać żądaną wartość css przechowywaną w DOM. Więcej informacji na ten temat można znaleźć pod adresem: http://api.jquery.com/css/

Ale jeśli chcesz uzyskać jego pozycję, możesz sprawdzić metody offset() i position(), aby uzyskać jego pozycję.

+0

Nie. Jego pomyłką było pisanie "przedmiotów", które szukają * tagu * razy, zamiast pisania ".items", który przechwyciłby elementy klasy * items *. Różnica polega na kropce. – pashute

3

Kod jest prawidłowy. wymienić elementy z .items jak poniżej

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