Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobarnie współrzędnych pojemnika
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Hfastmet
Witam!

Zastanawia mnie jak pobrać wpółrzędne pojemnika np.

  1. <div onmouseover="new pob();" style="height: 100px; width: 100px;">costam</div>


  1. var pob = function()
  2. {
  3. $(document).bind('mousemove', function(e){
  4.  
  5. //alert(e.pageX);
  6.  
  7. });
  8. }


no właśnie e.pageX pobierze mi iksa w odniesieniu do ekranu, a ja bym chciał wpółrzędne położenia kursora względem pojemnika o wymiarach 100x100px. Jest na to jakiś sposób??
wookieb
[JAVASCRIPT] pobierz, plaintext
  1. var offset = $(e.target).offset();
[JAVASCRIPT] pobierz, plaintext

i przejrzyj zwrocony obiekt.
Hfastmet
jak robię
  1. alert(offset);


to ciągle dostaje [object OBJECT], trzeba dać tam coś po kropce??
everth
W Chrome służy do tego metoda window.console.debug(zmienna) - daje podgląd obiektu w konsoli. Być może w FireBugu w FF jest podobnie.
wookieb
Cytat(Hfastmet @ 31.07.2010, 23:47:54 ) *
to ciągle dostaje [object OBJECT], trzeba dać tam coś po kropce??

Wiedziałem, kurde wiedziałem! Cholernie ciężko już było wpaść na pomysł by zajrzeć do manuala co? http://api.jquery.com/offset/
Hfastmet
To może inaczej.

Czy ktoś mógłby dokończyć kod:

  1. <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  2. </head>
  3.  
  4. <div id="pomiar"></div>
  5. <div id="ramka" style="position absolute; top:10px; left: 200px; border: 1px solid black; width: 100px; height: 100px;"></div>
  6.  
  7. <script type="text/javascript">
  8.  
  9. //??
  10.  
  11. </body>


tak by div "pomiar" pokazywał aktualną pozycję myszy wewnątrz ramki, zakładające, że lewy górny narożnik ramki stanowi pkt (0, 0) a nie początek strony.
(czyli ramka jest oddalona od lewej 200 px od góry o 10px, kursor umieszczony wew. ramki liczy od 0 biorąc narożnik ramki jako pkt.0 aż do max. 100px na 100px)
wiiir
co za lenie smile.gif hehe
mozna to tak zrobic
  1. $("#ramka").bind('mousemove', function(e){
  2. var j = $(this).offset()
  3. var left = (e.pageX - j.left <0) ?0:Math.floor(e.pageX - j.left);
  4. var top = (e.pageY - j.top <0) ?0:Math.floor(e.pageY - j.top);
  5. $("#pomiar").html("top:"+top+" left:"+left);
  6. });
Hfastmet
Dziękuję.
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.