Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> zaznaczanie wielu elementów
kielek
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 24.02.2007

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


Witam,

Mam siatkę stworzoną z divów, czy jest jakiś sposób aby zaznaczyć kilka elementów w taki sposób jak ikonki na pulpicie? Zakreślając jakiś obszar w js?
Go to the top of the page
+Quote Post
kamil4u
post
Post #2





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

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


Wszystko zależy co masz na myśli pisząc "zaznaczyć", ale da się.

Zanim się rozpiszę to proszę, abyś opisał problem dokładniej.

Ten post edytował kamil4u 8.10.2011, 20:20:25


--------------------
Go to the top of the page
+Quote Post
Korab
post
Post #3





Grupa: Zarejestrowani
Postów: 202
Pomógł: 36
Dołączył: 10.06.2011
Skąd: Dokąd

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


Możesz konkretnym DIVom przypisać przez JS inny kolor tła po kliknięciu - to jeden ze sposobów.
Go to the top of the page
+Quote Post
kielek
post
Post #4





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 24.02.2007

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


Dokładnie chodzi o to, że mam siatkę stworzoną z divów, na przykład kalendarz, chce zaznaczyć kilka dni i przesłać je dalej postem przez ajax lub zwykłe przeładowanie, z tym już jednak problemu mieć nie powinienem.

@Korab
ten sposób rozważałem, ale co w momencie gdy do zaznaczenia będzie przykładowo kilkadziesiąt elementów? Wtedy każdy trzeba będzie po kolei klikać, a tak zaznaczenie a'la zaznaczanie ikonek na pulpicie będzie idealne

Ten post edytował kielek 8.10.2011, 21:14:31
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%)
-----


To teraz jeszcze napisz czy chcesz to sam napisać i czy np. ja mam Ci opisać jak to zrobić czy wolisz gotowca( tu widziałem takie rzeczy, ale linku raczej nie podam - ale może inni )


--------------------
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Na początku poszukałbym czegoś gotowego. Sam nigdy się czymś takim (dla JS) nie interesowałem, więc konkretów podsunąć nie mogę, ale zapewne biblioteki pokroju ExtJS będą coś takiego posiadały albo przynajmniej ułatwiały zrobienie tego.

Zrobienie tego w najbardziej prymitywnej (sztywnej) formie nie powinno być specjalnie trudne, jednak gdy przyjdzie potrzeba modyfikacji pewnie będzie oznaczać to konieczność przepisania połowy kodu.
Go to the top of the page
+Quote Post
kielek
post
Post #7





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 24.02.2007

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


Mogę wykorzystać gotowca, mogę i spróbować sam to stworzyć w jquery, tylko muszę mieć jakiś punkt zaczepienia, w jaki sposób stworzyć taką rozciągalną ramkę, która zaznaczy elementy smile.gif
Co do szukania, niestety nic takiego nie mogłem znaleźć
Go to the top of the page
+Quote Post
kamil4u
post
Post #8





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

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


Więc robi się to stosunkowo łatwo:
- wszystkie div-y, które możesz zaznaczyć wyłapujesz, czyli sprawdzasz i zapisujesz parametry położenia
- w chwili kliknięcia myszą tworzysz nowego div-a
- kolejne zdarzenie to mousemove - tu w zależności od ruchu myszki zmieniasz rozmiary div-a - podobnie jak w skryptach resize
- teraz obsługujesz zdarzenie puszczenia myszki, w którym sprawdzasz czy współrzędne div-a tworzonego pokrywają się z współrzędnymi pobranymi wcześniej, jeżeli tak to np. zmieniasz klasę tym elementom - tu mogą się przydać skrypty części wspólnych

To opis ogólny i jedna z wielu dróg. Jak coś to zadaj jakieś konkretne pytanie to postaram się odpowiedzieć.

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 06:29