Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [javascript]pozycja elementu
kubarek
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 19.02.2007

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


Witam
Jest kod, który ma za zadanie wyświetlić menu kontekstowe po kliknięciu na link:
  1. <script type="text/javascript">
  2. function e(id) { return document.getElementById(id); }
  3. function use(el){
  4. popup=e('popup_menu');
  5. popup.style.display="block"; // pokaz menu
  6. popup.style.left = ... +'px'; // ustaw pozycje x - jak ?
  7. popup.style.top = ... +'px'; // ustaw pozycje y - jak ?
  8. }
  9. ...
  10. <a href="" onclick="use(this);">el1</a><br />
  11. <a href="" onclick="use(this);">el2</a><br />
  12. <a href="" onclick="use(this);">el3</a><br />
  13. <a href="" onclick="use(this);">el4</a><br />
  14. ...

Pytanie: w jaki sposób pobrać pozycję elementu el ? Chciałbym, żeby menu było umieszczone bezpośrednio pod elementem, na który się kliknęło. Coś w tym stylu ( użytkownik kliknął na el3 ).

Dzięki z góry za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Zgaduję, że chodzi Ci o taką funkcję:

Kod
function findPos(obj) {
    var nleft = 0;
    var ntop = 0;
    if (obj.offsetParent) {
        nleft = obj.offsetLeft
        ntop = obj.offsetTop
        while (obj = obj.offsetParent) {
            nleft += obj.offsetLeft
            ntop += obj.offsetTop
        }
    }
    return [nleft,ntop];
}


Funkcja zwraca tablicę [pozycja_od_lewej, pozycja_od_gory] dla zadanego elementu. Jako argument, funkcja przyjmuje obiekt HTML uzyskany z np. getElementById(). Funkcja ta nie wymaga, by element, którego pozycję chcesz uzyskać, był pozycjonowany absolutnie.
Go to the top of the page
+Quote Post
kubarek
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 19.02.2007

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


działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
dziękuję
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: 25.08.2025 - 06:46