![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chcę zrobić tabelkę która standardowo ma kolor1 po najechaniu ma kolor2 a po kliknięciu ma mieć kolor3 i w tym kolorze zostać póki nie zostanie kliknięta druga tabelka pod spodem. onmouseover i onmouseout bez problemu w momencie kliknięcia też zmienia się kolor ale po zjechaniu z elementu wraca do poprzedniego. Jak temu zapobiec?
Jak zatrzymać kolor po zdarzeniu OnClick? A jak możnabyłoby to rozwiązać jeżeli tabelka by tworzyła się w pętli? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 389 Pomógł: 141 Dołączył: 11.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Coś podobnego ale w jquery http://jsbin.com/esero3
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Usuń sobie zdarzenie onmouseout z obu znaczników table, ponieważ w nim przypisujesz tabelce ponownie klasę 'table'.
Poza tym, taka rada na przyszłość, staraj się pracować raczej na div'ach niż na tabelach. Ten post edytował bastard13 25.07.2010, 11:30:00 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
A skąd wiesz do czego mu to? Może chce przedstawić dane tabelaryczne? Skoro tworzy tabelkę w pętli (lub chce) to tym raczej nie zrobi strony.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, do czego jest mu to potrzebne, ale nie widzę przeszkód żeby na divach zbudować tabelę, problemem nie jest nawet zrobienie tego w pętli.
Jeżeli problem wymaga koniecznego zastosowania tabel, to niech przy nich zostanie, ale jeżeli może je zastąpić divami, to lepiej nabierać dobrych przyzwyczajeń(IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli problem wymaga koniecznego zastosowania tabel, to niech przy nich zostanie, ale jeżeli może je zastąpić divami, to lepiej nabierać dobrych przyzwyczajeń(IMG:style_emoticons/default/smile.gif) Chyba sobie żartujesz, dane tabelaryczne na divach?? Wybacz ale to jest właśnie typowe myślenie ludzi, którzy się gdzieś naczytali, że tabelki to przeżytek i trzeba ich unikać, a nic bardziej błędnego. Tabelek nie należy używać do budowania struktury strony, tylko do danych tabelarycznych. Dobre przyzwyczajenie to używać znaczników zgodnie z ich przeznaczeniem <h1>, <h2>... do nagłówków, <ul> dla list nieuporządkowanych, i <table> dla danych tabelarycznych, a nie wpychanie wszędzie <div> i setki klas...bo to jest właśnie złe przyzwyczajenie Co do problemu autora to dla efektów takich jak zmiana koloru po najechaniu myszką służy css :hover, co do kliknięcia to musisz zrobić tak, że po kliknięciu najpierw przywraca tabelkom klasę, reprezentującą stan przed kliknięciem i potem ustawia klasę aktywną dla tabelki klikniętej. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie, nie pomyślałem, nim napisałem:)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat co do kliknięcia to musisz zrobić tak, że po kliknięciu najpierw przywraca tabelkom klasę, reprezentującą stan przed kliknięciem i potem ustawia klasę aktywną dla tabelki klikniętej. Mógłbyś opisać na moim przykładzie, gdyż próbuje ale coś nie wychodzi mi tak jak powinno. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Usuń akcję onmouseout, ponieważ w niej przywracasz pierwotną klasę tabelki.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Ale co w przypadku gdy najadę na daną tabelę a nie kliknę? Nie wróci do stanu standardowego. Jak to rozwiązać wtedy?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 664 Pomógł: 169 Dołączył: 8.01.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Mógłbyś opisać na moim przykładzie, gdyż próbuje ale coś nie wychodzi mi tak jak powinno. przeanalizuj sobie ten prosty przykład(skopiuj kod, zapisz do pliku i odpal):
1. standardowo tabelka ma obrys czarny 2. po najechaniu myszką - obrys czerwony 3. po kliknięciu - obrys pomarańczowy - efekt po najechaniu myszką można łatwo ustawić przez css :hover - co do kliknięcia to posługujemy się tu nadawaniem klasy .active, która reprezentuje stan aktywny, czyli ten z obrysem pomarańczowym, po kliknięciu na jakąś tabelę, wpierw pętlą for() usuwamy klasy przypisane do tych tabel, następnie dla tabeli klikniętej ustawiamy klasę aktywną Ten post edytował tehaha 26.07.2010, 00:35:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:11 |