Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> JS i CSS - pobieranie stylu
Indeo
post
Post #1





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

Ostrzeżenie: (0%)
-----


Mam pytanie jak można w js odczytać informacje o wczytanych stylach, np kolorze.
Chodzi mi o sytuację, w której modyfikuję skryptem kolor jakiegos elementu (np onMouseOver) ale chciałbym móc wrócić do koloru pierwotnie zdefiniowanego w stylach (np. przy onMouseOut). Nie chodzi mi o pobieranie stylu danego elementu (który mógł być już zmodyfikowany przez js) ale o pierwotne ustawienie styli.

Ten post edytował Indeo 19.05.2011, 14:00:58
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeśli zmieniłeś bazowy to kaplica. Jedyne co możesz zastosować bez przeladowywania strony to zapamiętywanie bazowego elementu lub wartości jego konkretnego atrybutu zanim zaczniesz cokolwiek modyfikować.
Go to the top of the page
+Quote Post
blooregard
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Cytat(Indeo @ 19.05.2011, 15:00:01 ) *
Mam pytanie jak można w js odczytać informacje o wczytanych stylach, np kolorze.
Chodzi mi o sytuację, w której modyfikuję skryptem kolor jakiegos elementu (np onMouseOver) ale chciałbym móc wrócić do koloru pierwotnie zdefiniowanego w stylach (np. przy onMouseOut). Nie chodzi mi o pobieranie stylu danego elementu (który mógł być już zmodyfikowany przez js) ale o pierwotne ustawienie styli.


Przy ładowaniu strony nadajesz elementowi klasę A (gdzie masz pierwotny styl), dodajesz do niego zdarzenia, które nadają mu klasę B, a po ich zakończeniu z powrotem nadajesz mu klasę A bądź dodajesz/odejmujesz elementowi klasy CSS, które coś mu tam zmieniają pozostawiając klasę A cały czas.

Najprościej skorzystać w tym celu np. z jQuery.
Powód edycji: [blooregard]:
Go to the top of the page
+Quote Post
Indeo
post
Post #4





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

Ostrzeżenie: (0%)
-----


Dzięki! Świetny pomysł! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kamil4u
post
Post #5





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Nie jestem pewien, ale chyba, źle mówicie (IMG:style_emoticons/default/smile.gif) - niestety nie mam czasu sprawdzić... - może jutro
- jeżeli CSS znajduje się w pliku lub w <style></style> to za pomocą stylesheet.cssRules na 90% da się odczytać wartość pierwotną
- jeżeli CSS znajduje się w atrybucie style to prawdopodobnie (tu tak na 80%) możesz pobrać całą regułkę za pomocą getAttribute - gdy to jej zmiany nie używasz setAttribute

Nie zmienia to faktu, że pomysł ~blooregard jest raczej najlepszym i najszybszym wyjściem.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 08:36