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

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • KittiesMama

    KittiesMama

    10 AĞUSTOS 2008
  • Michael Neal

    Michael Neal

    2 Mayıs 2009