![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 5 Dołączył: 8.02.2005 Skąd: Olsztyn / Zatorze Ostrzeżenie: (0%) ![]() ![]() |
witam!
Szukam porady / źródeł / tutoriali itp. jak zrobić taki patent by po kliknięciu na link wyświetliła by mi sie warstwa (div) obok kursora ale by się nie przemieszczała razem z nim ... dodatkowo do javascript musze pobierać znaczniki po klasie (a nie po ID lub NAME)... MAcie jakieś pomysły ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Jak to musisz pobierać "do javascript" ? Niby skąd pobierać ? Powinieneś napisać chyba że uzyskiwać dostęp do elementów przy pomocy nazwy klasy. To akurat łatwe, na googlach można sporo znaleźć.
getElementByClassName a jeśli chodzi o pierwsze pytanie, to tu masz odpowiedź: http://forum.php.pl/index.php?showtopic=34...amp;hl=position -------------------- -------------
------ |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 5 Dołączył: 8.02.2005 Skąd: Olsztyn / Zatorze Ostrzeżenie: (0%) ![]() ![]() |
Hmmm na ID niby działa ale gdy zamiast ID podstawie klase tak jak wyżej napisałeś to niestety ten kod nie działą
![]() Kod <html> <head> <script type="text/javascript"> function pos() { if (window.Event) { document.captureEvents(Event.MOUSEMOVE); } document.getElementByClassName("test").onmousemove = function(e){ x = (window.Event) ? e.pageX : event.clientX; y = (window.Event) ? e.pageY : event.clientY; document.getElementByClassName("head").style.left=x - 5; document.getElementByClassName("head").style.top=y - 15; document.getElementByClassName("head").style.display="block"; document.getElementByClassName("w").innerHTML="mouseX:"+x+"<br />mouseY:"+y; } document.getElementByClassName("test").onmouseout=function() { document.getElementByClassName("head").style.display="none"; } } window.onload = pos; </script> <style type="text/css"> div.head { width:50px; height:10px; background-color:red; position:absolute; display:none; z-index:1; } div.test { width:200px; height:100px; position:absolute; left:100px; top:300px; background-color:blue; z-index:0; } </style> </head> <body> <div class="head"></div> <span class="w"></span> <div class="test"> </div> </body> </html> czemu nie działą właśność getElementByClassName ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Ale chyba masz tą funkcję gdzieś napisaną co ? W javascript nie ma czegoś takiego. Znajdź sobie na googlach jakąś interpretację.
-------------------- -------------
------ |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 5 Dołączył: 8.02.2005 Skąd: Olsztyn / Zatorze Ostrzeżenie: (0%) ![]() ![]() |
Tzn samą funkcje mam... jest taka:
ale to coś w tym kodzie co poprzednio podałem nie działa ... (sama funkcja jest dobra). Pozdrawiam ---------- Prosze pamietac o bbcode -- dr_bonzo |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 2.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
1. Znajdź inną funkcję getElementByClassName - najlepiej wersję z wyrażeniem regularnym i 3 parametrami - jest sprawdzona. Ta Twoja jest niezbyt wydajna.
2. Stosujesz parę razy "document.getElementByClassName("head")" - i pomijając fakt, że takie jej uzycie nie istnieje, to kompletnie źle używasz wyniku działania takich funkcji - to tak jakbyś wyjmował sztućce z szuflady pojedynczo i za każdym razem otwierał i zamykał szufladę. Plus to że Twoja funkcja jest mało wydajna (bo przelatuje pętlą po wszystkich obiektach na stronie!!!) to jeszcze ją wywołujesz parę razy pod rząd. Np wynik (czyli obiekt) funkcji document.getElementById('xxx') zapisuj do zmiennej np "obj" o potem już tylko obj.style.xxx.... 3. poza tym ok. ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 5 Dołączył: 8.02.2005 Skąd: Olsztyn / Zatorze Ostrzeżenie: (0%) ![]() ![]() |
ok dzieki za informacje
![]() Dziś spróbuje coś napisac i jak by były problemy to sie odezwe ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:30 |