![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Problem dosyć nietypowy i w większości przypadków opisywany jako niemożliwy do obejścia.
Potrzebuję przy pomocy CSS (ewentualnie JavaScript) nadać kolor tła w tagu area. Nie byłoby w tym nic trudnego, gdyby nie dwie drobne przeszkody - po pierwsze area może zawierać kilkanaście (a nawet kilkadziesiąt) punktów, które tworzą bardzo nieregularny kształt. Po drugie, współrzędne punktów wstrzykiwane są do atrybutu coords przy pomocy JavaScript, co wyklucza użycie większości popularnych bibliotek js. Jak to zrobić? -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Od razu napiszę, że nigdy nie miałem styczności z takim problemem, ale może uda mi się jakoś Ci pomóc. Dlatego też mam takie pytanie:
Cytat Po drugie, współrzędne punktów wstrzykiwane są do atrybutu coords przy pomocy JavaScript, co wyklucza użycie większości popularnych bibliotek js Dlaczego wyklucza? Nie mogę sobie wyobrazić, że nie da się tego połączyć. Może pokusiłbyś się o proste demo np. na http://jsfiddle.net/ . -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
batman - jesteś moderatorem i nie wkleiłeś żadnego kodu?
![]() Cytat gdyby nie dwie drobne przeszkody - po pierwsze area może zawierać kilkanaście (a nawet kilkadziesiąt) punktów, które tworzą bardzo nieregularny kształt. Nie bardzo rozumiem, tło koliduje z tymi kształtami/elementami czy odwrotnie? I czy jest to tylko kolor, a nie obraz? -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
batman - jesteś moderatorem i nie wkleiłeś żadnego kodu? ![]() Moderator moderatorem, ale kodu udostępnić nie mogę ;) Opiszę problem inaczej. Mam na stronie kilkaset elementów. Do każdego elementu przypisane są współrzędne określające jakiś obszar obrazka. Obszar ten posiada nieregularne kształty, więc zastosowanie grafiki wymagałoby wycięcie kilkuset niewielkich grafik w kilku kolorach każda. Po najechaniu na każdy z elementów, na obrazku ma zaznaczyć się zdefiniowany wcześniej obszar (w zależności od parametrów - w różnych kolorach). I tutaj pojawia się problem, ponieważ w zdarzeniu onmouseover przekazuję do area współrzędne. Współrzędne te działają, obszar się "wyświetla" na obrazku, ale w żaden sposób nie mogę zmienić jego koloru. Innymi słowy, dodaje się obszar do obrazka, ale nie możliwe jest jest ostylowanie. Znalazłem kilka rozwiązań bazujących na canvas, jednak wymagają one, by współrzędne znajdowały się w area od razu, a nie były dynamicznie przekazane. Jak to ugryźć? Może podchodzę do problemu z niewłaściwej strony? -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nadal nie rozumiem, skoro przekazujesz przez JS dane współrzędne, to dlaczego nie możesz przekazać danych o kolorach? Jak wygląda kolizja, bo nie ma czegoś takiego "nie mogę ostylować obrazka, bo nie".
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat Znalazłem kilka rozwiązań bazujących na canvas, jednak wymagają one, by współrzędne znajdowały się w area od razu, a nie były dynamicznie przekazane. Jak dla mnie canvas tu pasuje. Gorzej oczywiście z IE ![]() Cytat Dlaczego wyklucza? Nie mogę sobie wyobrazić, że nie da się tego połączyć. Może pokusiłbyś się o proste demo np. na http://jsfiddle.net/ . I koniecznie dodaj linki do skryptu z canvas-em. Cytat ale kodu udostępnić nie mogę ![]() To chociaż proste demo zrób, bo nadal nie jestem pewny czy dobrze to rozumiem. Bo jednak nie jest skrypt, który dałoby się napisać w 5min, więc musisz trochę sekretów zdradzić ![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Cytat I koniecznie dodaj linki do skryptu z canvas-em. Najlepszą biblioteką, która prawie działa jest http://www.outsharked.com/imagemapster/. Prawie oznacza tutaj, że tworzy się canvas, ale niestety nie jest widoczny (sprawdzone w Firebugu). Kombinowałem ze zmianą position, z-index i kilkoma innymi. Do kodu js jeszcze nie zaglądałem. Cytat To chociaż proste demo zrób, bo nadal nie jestem pewny czy dobrze to rozumiem. Bo jednak nie jest skrypt, który dałoby się napisać w 5min, więc musisz trochę sekretów zdradzić ![]() Zrobienie dema zajmie tyle samo czasu, ile robiłem stronę, więc niestety kodem się nie podzielę ![]()
Powód edycji: [batman]:
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Heh. No to postaw się w naszej sytuacji. Napisałeś bardzo ogólnie jak to działa.Według mnie jedynym sensownym rozwiązaniem to canvas( jeżeli dobrze rozumiem jak to działa, a pewności nie mam ). Podałeś skrypt, który teoretycznie działa,a praktycznie "tworzy się canvas, ale niestety nie jest widoczny". No i teraz jak mamy Ci pomóc? Domyślić się czy coś jest źle w skrypcie czy może Ty gdzieś zrobiłeś błąd w swoim rozumowaniu? Czego od nas oczekujesz?
Cytat Zrobienie dema zajmie tyle samo czasu Demo dla mnie oznacza, że: - weźmiesz prosty rysunek z dwoma prostokątami - za pomocą kodu JS wygenerujesz współrzędne - nawet zwykła tablica z danymi - to najmniej ważne - współrzędne te dodasz do tego obrazka w podobny sposób jak robisz to u siebie( odpowiednią metodą DOM-oską jak się domyślam ) - dodasz skrypt canvas-u ( tu jeszcze mniej roboty ) - wszystko połączysz w podobny sposób jak u Ciebie( tu największy problem, ale oczekuję jak najprostszego kodu na jakimś błahym przykładzie, a nie 200 linijek Twojego kodu ) Który punkt jest dla Ciebie niewykonalny/zbyt długotrwały? Jeżeli to zajmie Ci podobny czas jak zrobienie Twojego skryptu to może podziel się kodem, bo to pisania na max. 20 minut( przynajmniej tak to sobie wyobrażam i może w ciąż dokładnie nie rozumiem jak to działa ). Musisz wykazać trochę więcej zaangażowania, bo inaczej ciężko, żebyś uzyskał sensowną odpowiedź( przynajmniej z mojej strony ). Zachęcam, żebyś przeczytał jeszcze raz temat i zobaczył czy byłbyś w stanie komuś pomóc, gdyby napisał tak zdawkowe informacje jak Ty. Pozdrawiam i do roboty ![]() Ten post edytował kamil4u 2.07.2012, 23:09:37 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Odbiegamy od tematu
![]() Ponawiam pytanie. W jaki sposób nadać tło w tagu area, gdzie atrybut coords jest aktualizowany z poziomu js? -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
wykorzystałem tą samą bibliotekę Image Mapster, nie wiem tylko czy o to chodziło
![]() http://jsfiddle.net/k2Crx/2/ -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
wykorzystałem tą samą bibliotekę Image Mapster, nie wiem tylko czy o to chodziło ![]() Firebug pokazuje mi błąd w js - mapArea is undefined. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
dziwnie się nie zapisała ostatnia wersja w jsfiddle, teraz powinno śmigać (testowane na chrome i ff):
http://jsfiddle.net/nd4Jn/ -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Teraz działa. Sprawdzę popołudniu to co zrobiłeś na moim przypadku i może uda rozwiązać się ten problem.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Cytat Teraz działa. Sprawdzę popołudniu to co zrobiłeś na moim przypadku i może uda rozwiązać się ten problem. To jest właśnie owe demo, o które Cię prosiłem, a które zrobił za Ciebie ~d3ut3r . Jak przeanalizujesz jego kod, to będzie się on pokrywał z moim: Cytat Demo dla mnie oznacza, że: - weźmiesz prosty rysunek z dwoma prostokątami - za pomocą kodu JS wygenerujesz współrzędne - nawet zwykła tablica z danymi - to najmniej ważne - współrzędne te dodasz do tego obrazka w podobny sposób jak robisz to u siebie( odpowiednią metodą DOM-oską jak się domyślam ) - dodasz skrypt canvas-u ( tu jeszcze mniej roboty ) - wszystko połączysz w podobny sposób jak u Ciebie( tu największy problem, ale oczekuję jak najprostszego kodu na jakimś błahym przykładzie, a nie 200 linijek Twojego kodu ) Możliwe, że sam byś sobie poradził z problemem( albo byśmy Cię odpowiednio nakierowali, gdybyś napisał to sam), ale w moim przekonaniu czekałeś na gotowca. I wcale nie jest to "Odbiegamy od tematu". Poza tym "Zrobienie dema zajmie tyle samo czasu, ile robiłem stronę, więc niestety kodem się nie podzielę wink.gif" jest mijaniem się z prawdą, jak sam doskonale zauważyłeś, bo wątpię, żeby ~d3ut3r pisał to pół dnia. Pozdrawiam i życzę więcej zaangażowania, bo nie zawsze dostaniesz gotowca ![]() --edit-- @down: Nie chcę już śmiecić Ci w wątku, dlatego wyedytuje posta. Możliwe, że masz rację, ale ja patrzę tylko przez pryzmat Twoich postów. Poprosiłem Cię, żebyś coś zrobił, a Ty odpisałeś "Odbiegamy od tematu wink.gif". Po czym to samo zrobił ~d3ut3r i Ty mu dziękujesz, bo możliwe, że to jest rozwiązaniem Twojego problemu. No to jak to wgląda w moich oczach? Nie dziw się więc, że tak napisałem. Fakt, że znam Cię nijako na tym forum i że jesteś moderatorem trochę Cię usprawiedliwia, bo ponad 2500 postów nie wzięło się znikąd, ale jeśli chodzi o ten temat to trochę dałeś ciała ![]() Cytat Bardzo możliwe, że problemem stanowi jakiś inny skrypt lub css. Z drugiej strony mogłem coś przegapić podczas podpinania biblioteki i to właśnie sprawdzę za kilka godzin. No i jakbyś zrobił to demo to byś to wiedział, że nie możemy Ci pomóc, bo błąd jest gdzieś po Twojej stronie, a kodu nie pokażesz. A sama idea jest w porządku. No i mam nadzieje, że ten cały problem jest warty tego zachodu i Ci się powiedzie nad tajemniczym skryptem. Powodzenia! Ten post edytował kamil4u 3.07.2012, 14:06:02 -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
To jest właśnie owe demo, o które Cię prosiłem, a które zrobił za Ciebie ~d3ut3r . Jak przeanalizujesz jego kod, to będzie się on pokrywał z moim: Możliwe, że sam byś sobie poradził z problemem( albo byśmy Cię odpowiednio nakierowali, gdybyś napisał to sam), ale w moim przekonaniu czekałeś na gotowca. I wcale nie jest to "Odbiegamy od tematu". Poza tym "Zrobienie dema zajmie tyle samo czasu, ile robiłem stronę, więc niestety kodem się nie podzielę wink.gif" jest mijaniem się z prawdą, jak sam doskonale zauważyłeś, bo wątpię, żeby ~d3ut3r pisał to pół dnia. Pozdrawiam i życzę więcej zaangażowania, bo nie zawsze dostaniesz gotowca ![]() Źle mnie oceniasz ![]() -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie ma co się sprzeczać, temat był ciekawy, więc chciało mi się zrobić coś
![]() -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Problem rozwiązany. Okazało się, że nie dodałem do taga area atrybutu href. Bez niego nie wyświetla się zaznaczenie obszaru. W życiu bym na to nie wpadł. Dzięki za pomoc.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.06.2025 - 20:22 |