2013-01-12 16 views
8

Firefox 18 nie rozpoznaje atrybutu CSS -moz-box-shadow lub box-shadow.CSS box-shadow w jQuery .css()

Jeśli używam border-color, wszystko działa poprawnie.

$($this).hover(
    function() { 
     //$(this).css('border-color', '#ff0'); 
     $(this).css('box-shadow', '10px', '10px', '5px', '#888'); 
     //$(this).css('-moz-box-shadow', '10px', '10px', '5px', '#888'); 
    }, function() { 
     $(this).css('border-color', ''); 
     //$(this).css('border-width', ''); 
    } 
); 

Co robię źle?

+0

'.css' przyjmuje tylko dwa ** argumenty, nazwę właściwości i wartość. –

Odpowiedz

16

Musisz zrobić argumenty w jeden ciąg dosłownym. Parametr wartości funkcji css(property name, value) jest jednym argumentem.

$(this).css('box-shadow', '10px 10px 5px #888'); 
+0

Dzięki, rozumiem teraz, wymagane pola muszą być w cudzysłowach, a nie w poszczególnych wartościach. Dzięki, akceptuję twoją odpowiedź. Trzeba tylko poczekać, aż Stackoverflow pozwoli mi to zaakceptować :) – Chris

+0

@Chris dokładnie, cieszę się, że pomógł. –

4

musi być:

$(this).hover(function() { 
    $(this).css('box-shadow', '10px 10px 5px #888'); 
}, function() { 
    $(this).css('border-color', ''); 
}); 
5

to:

$(this).css('box-shadow', '10px', '10px', '5px', '#888'); 

jest błędna składnia. Trzeba mieć jedną wartość dla właściwości CSS:

$(this).css('box-shadow', '10px 10px 5px #888'); 
4

Powinno być:

$(this).css('-webkit-box-shadow', '10px 10px 5px #888'); 
$(this).css('-moz-box-shadow', '10px 10px 5px #888'); 
$(this).css('box-shadow', '10px 10px 5px #888'); 
+1

Dobrze jest kierować reklamy na więcej przeglądarek – TooSerious

1

Na Safari, Google Chrome i Opera używać

$(this).css('-webkit-box-shadow', '10px 10px 5px #888'); 

Dla Mozilla Firefox używać

$(this).css('-moz-box-shadow', '10px 10px 5px #888'); 

Dla innych przeglądarek se

$(this).css('box-shadow', '10px 10px 5px #888');