SORU
13 Kasım 2008, PERŞEMBE


Div/span etiketi pozisyonu alın

Biri belirtildiğinde div span bir elemanı * & * *5 6* pozisyon almak için nasıl bana gösterebilir misin?

yani:

<span id='11a' style='top:55px;' onmouseover="GetPos(this);">stuff</span>
<span id='12a' onmouseover="GetPos(this);">stuff</span>

Eğer yaparsam, her şeyden önce,:

document.getElementById('11a').style.top

55px değeri döndürülür. Eğer çalışırsam ancak span için '12a', sonra da hiçbir şey geri alır.

Elimde bir demet div/spans hakkında bir sayfa veremem belirtin top/left özellikler için, ama gerek görüntü div doğrudan altında bu eleman.

CEVAP
13 Kasım 2008, PERŞEMBE


Bu fonksiyon öğesi sayfasına göre x,y konumunu söyler. Temelde tüm bu elemanın ailesi döngü ve onların uzaklıklar birlikte eklemek zorunda.

function getPos(el) {
    // yay readability
    for (var lx=0, ly=0;
         el != null;
         lx  = el.offsetLeft, ly  = el.offsetTop, el = el.offsetParent);
    return {x: lx,y: ly};
}

Eğer sadece eleman kabına göre x, y konumu istedim,ancak sonra tüm ihtiyaç vardır:

var x = el.offsetLeft, y = el.offsetTop;

Doğrudan bu altındaki bir öğe koymak, ayrıca yüksekliği bilmeniz gerekir. Bu/offsetWidth özellik offsetHeight saklanır.

var yPositionOfNewElement = el.offsetTop   el.offsetHeight   someMargin;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • Muse

    Muse

    28 EYLÜL 2006
  • The CGBros

    The CGBros

    20 AĞUSTOS 2011