• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

nadpisanie css za pomocą JS, zmienna + !important

0 głosów
123 wizyt
pytanie zadane 11 stycznia w JavaScript, jQuery, AJAX przez Kamila Użytkownik (620 p.)
zmienione kategorie 11 stycznia przez Arkadiusz Waluk

cześć,

muszę nadpisać style css. wnętrze mojej funkcji to:

var sliderHeight = screen.height - 150;
              
                $(".slider_content").css("height", sliderHeight + "!important");

przeszukałam internet. Z tego co wyczytałam to powino działać, ale niestey - nie działa.

Funkcja działa jeśli usunę "!important", więc coś tutaj jest nie tak :/

 

komentarz 11 stycznia przez CzikaCarry Maniak (55,740 p.)
Wejdź do przeglądarki, kliknij F12, wybierz konsolę JS i zobacz, czy nie wyskoczył tam jakiś błąd

4 odpowiedzi

+1 głos
odpowiedź 12 stycznia przez argeento Maniak (73,310 p.)
wybrane 12 stycznia przez Krzycho92
 
Najlepsza

Wystarczy spojrzeć do dokumentacji

Note: .css() ignores !important declarations. So, the statement $( "p" ).css( "color", "red !important" ) does not turn the color of all paragraphs in the page to red. It's strongly advised to use classes instead; otherwise use a jQuery plugin.

Jeśli jesteś autorem tego CSSa, polecam poczytać o specyficzności selektorów - !important nic dobrego w kodzie nie wnosi

+1 głos
odpowiedź 12 stycznia przez Comandeer Mentor (365,360 p.)

Pragnę tylko zauważyć, że zaakceptowana odpowiedź jest najgorszą możliwą. Sama informacja z dokumentacji przecież mówi wyraźnie, żeby przesiąść się na operowanie klasami ($elem.toggleClass( 'klasa' )). A najlepiej, jak Argeento już wspomniał, zapoznać się ze specyficznością selektorów.

0 głosów
odpowiedź 11 stycznia przez Pietrak Pasjonat (17,880 p.)
edycja 12 stycznia przez Pietrak
To po co ci ten important jak działa?
Znalazłeś jakies rozwiazanie i kopiujesz.
komentarz 12 stycznia przez Kamila Użytkownik (620 p.)
wyraziłam się może zbyt skrótowo.

Potrzebuję tego important po rozbudowaniu strony. Skrypt działa na uproszczonej wersji.

Zrobiłam uproszczoną wersję, żeby sprawdzić gdzie jest błąd w funkcji.
0 głosów
odpowiedź 12 stycznia przez Marcin2000Xpl Gaduła (3,230 p.)

Nie jest to możliwe.

Note: .css() ignores !important declarations. So, the statement $( "p" ).css( "color", "red !important" ) does not turn the color of all paragraphs in the page to red. It's strongly advised to use classes instead; otherwise use a jQuery plugin.

jQuery ignoruje deklaracje !important. Nie jest to błąd jQuery tylko same przeglądarki ignorują w JavaScript deklaracje !important. Jedyną opcją jest dość ryzykowna metoda, ponieważ czyści ona wszystkie style (oprócz stylu klas) elementu:

$(".slider_content").css("cssText", "height: 300px !important;");

Podobne pytania

0 głosów
3 odpowiedzi 260 wizyt
0 głosów
1 odpowiedź 101 wizyt
pytanie zadane 1 sierpnia 2016 w JavaScript, jQuery, AJAX przez Barttyyy Gaduła (4,740 p.)
0 głosów
1 odpowiedź 76 wizyt
pytanie zadane 24 maja 2016 w JavaScript, jQuery, AJAX przez Nehel Dyskutant (7,780 p.)
Obowiązuje już zaktualizowany regulamin.

Czy wiesz, że nie musisz już odświeżać strony głównej?

Lista pytań i odpowiedzi aktualizuje się automatycznie!

38,716 zapytań

76,648 odpowiedzi

149,823 komentarzy

18,118 pasjonatów

Przeglądających: 305
Pasjonatów: 23 Gości: 282

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...