Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript]Aktywne przyciski obrazkowe.
Forum PHP.pl > Forum > Przedszkole
Szunaj85
Mam kilka przycisków, każdy składających się z 3 obrazków (neutralny, zaznaczony, wciśnięty).
Chciałbym żeby te obrazki zachowywały się jak normalne przyciski, z tą różnicą, że na każdej stronie 1 wybrany przycisk ma być domyślnie wciśnięty,
do czasu aż ktoś wciśnie inny przycisk, wtedy ten domyślnie wciśnięty ma się odznaczać.
W tym przypadku CSS nie spełnia moich wymagań. Wydaje mi się, że jedyne rozwiązanie to Javascript.
usb2.0
jesli dobrze rozumiem, powiedzmy masz jedna z wielu stron
na tej stronie jest takich przyciskow kilka i jesli wcisne jeden z nich to powinno sie zapisac ze jest wcisniety?
Szunaj85
Cytat
jesli dobrze rozumiem, powiedzmy masz jedna z wielu stron
na tej stronie jest takich przyciskow kilka...
Dotąd się zgadza.
Chcę żeby z tych kilku przycisków wybrany przeze mnie 1 przycisk był domyślnie wciśnięty od samego początku, (oczywiście który przycisk ma być domyślnym zależeć będzie od podstrony)
aż do momętu gdy użytkownik wciśnie dowolny inny. Wtedy ten domyślny ma wracać do trybu neutralnego,
a wciśnięty ma zostać przycisk wybrany przez użytkownika.
usb2.0
to powiedzmy masz 3 przyciski na stronie, nie wiem jakby chcialbys ze identyfikowac, najlatwiej po ID o ile moze byc unikatowe

zalozmy ze chcialbys miec odrazu wciesniety 1, w bazie trzymasz tablice w ktorej masz info w stylu
1P - 1
2P - 0
3P - 0
w postaci JSON'na ofc

te przyciski zapewne beda w jakims divie, wiec obslugujesz zdarzenie onClick na elementach zawartych w tym divie, zalozymy, ze wciskasz 2 przycisk, wysylasz AJAX'em zadanie do bazy i tablica zmienia sie na
1P- 0
2P - 1
3P - 0

oczywiscie generujesz przyciski na podstawie danych z tabeli
Szunaj85
AJAX, baza danych... nie wystarczył by tu zwykły skrypt Javascript?
Myślę, że można to prościej rozwiązać tylko za pomocą skryptu Javascript i kodu HTML.
owca_82
Cytat(Szunaj85 @ 20.02.2014, 18:19:55 ) *
Myślę, że można to prościej rozwiązać tylko za pomocą skryptu Javascript i kodu HTML.


I dobrze myślisz ... wystarczy manipulować przy pomocy JS (onClick) nazwą klasy poszczególnych przycisków np. gdy przycisk wciśnięty = "buttonSet" (pozostałe "Unset") wink.gif
PrinceOfPersia
Cytat(Szunaj85 @ 20.02.2014, 13:23:11 ) *
Mam kilka przycisków, każdy składających się z 3 obrazków (neutralny, zaznaczony, wciśnięty).
Chciałbym żeby te obrazki zachowywały się jak normalne przyciski, z tą różnicą, że na każdej stronie 1 wybrany przycisk ma być domyślnie wciśnięty,
do czasu aż ktoś wciśnie inny przycisk, wtedy ten domyślnie wciśnięty ma się odznaczać.
W tym przypadku CSS nie spełnia moich wymagań. Wydaje mi się, że jedyne rozwiązanie to Javascript.

mógłbyś pokombinować z <input type="radio />, i z labelami (widziałem takie rozwiązanie na stronie, która prezentowała slidery w CSS-only, klikało się w <label>. Pokombinowałem w jsFiddle i coś takiego właśnie zrobiłem na samym CSS (można dodać jeszcze background-image) :
http://jsfiddle.net/kkpkk/1/
(nie wiem czy we wszystkich przeglądarkach zadziała, testowałem na Chrome)
Szunaj85
Cytat(owca_82 @ 21.02.2014, 01:14:34 ) *
I dobrze myślisz ... wystarczy manipulować przy pomocy JS (onClick) nazwą klasy poszczególnych przycisków np. gdy przycisk wciśnięty = "buttonSet" (pozostałe "Unset") wink.gif
Czy masz gdzieś pod ręką przykład takiego rozwiązania? Chodzi o kod JS.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.