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

  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • Perihelion

    Perihelion

    23 NİSAN 2008
  • ravinderosahn

    ravinderosah

    20 Temmuz 2009