Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> warstwa obok kursora
MitS
post
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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
revyag
post
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
Go to the top of the page
+Quote Post
MitS
post
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łą (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
revyag
post
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ę.
Go to the top of the page
+Quote Post
MitS
post
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:
  1. <?php
  2. function getElementsByClassName(clsName) 
  3. { 
  4. var arr = new Array(); 
  5. var elems = document.getElementsByTagName("*");
  6.  
  7. for ( var cls, i = 0; ( elem = elems[i] ); i++ )
  8. {
  9. if ( elem.className == clsName )
  10. {
  11. arr[arr.length] = elem;
  12. }
  13. }
  14. return arr;
  15. }
  16. ?>


ale to coś w tym kodzie co poprzednio podałem nie działa ... (sama funkcja jest dobra).
Pozdrawiam

----------
Prosze pamietac o bbcode
--
dr_bonzo
Go to the top of the page
+Quote Post
Joy-machine
post
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. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
MitS
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Dziś spróbuje coś napisac i jak by były problemy to sie odezwe (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.09.2025 - 02:56