myNotlar Logo

myn.getElemPos()


Internet Explorer Firefox Opera

myn.getElemPos() fonksiyonu, belirtilen elementin doküman üzerinde sayfaya göre soldan ve üstten uzaklığının alınmasını sağlar.

Sözdizimi

konum = myn.getElemPos(elem)
elemSayfaya göre soldan ve üstten uzaklığı öğrenilecek element.

Dönüş Değeri

konumElementin soldan ve üstten olan uzaklık verilerini içeren konum nesnesi döner.

Özellikler

ÖzellikAçıklama
konum.solSayfaya göre soldan uzaklığı verir.
konum.ustSayfaya göre üstten uzaklığı verir.

Farklı tarayıcıların sayfayı işleme şeklide farklı olduğu için aynı sayfa ve aynı element için konum bilgileri aynı olmayarak 4-5 piksel veya daha fazla farkedebilir.

Aşağıdaki örnek, bir table hücresi içine yerleştirilmiş birkaç div elementinden, en içtekinin sayfaya göre soldan ve üstten uzaklığının alınmasını göstermektedir.

<script type="text/javascript" src="mynotlar_getElemPos.js"></script>

<style type="text/css">
.divClass {
    padding: 10px;
    border:solid 2px navy;
}
</style>

<table border="1">
  <tr>
    <td style="padding:20px;">
    <div class="divClass">
        <div class="divClass">
            <div id="ornekDiv" class="divClass" onClick="pozGoster()">Tıkla Bana!</div>
        </div>
    </div>    
    </td>
  </tr>
</table>

<script type="text/javascript">

function pozGoster()
{
    var sonuc = myn.getElemPos( document.getElementById('ornekDiv') );
    alert("Sol : " + sonuc.sol + "\nÜst : " + sonuc.ust);
}    
</script>
Test Edin
Tıkla Bana!

mynotlar_getElemPos.js

/*
    "myn.getElemPos()" Fonksiyon Betiği v1.0
    
    Telif Hakkı (c) 2008, mynotlar.com, Tüm hakları saklıdır.
    http://www.mynotlar.com 
*/

(window.myn = myn = window.myn || {}).getElemPos = 
function(e) {
    var s = {sol : 0, ust : 0 };
    if (e.offsetParent)
        while(e) {
            s.sol += e.offsetLeft;
            s.ust += e.offsetTop;
            if ((aa = e.tagName.toLowerCase()) != "table" && aa != "body" && 
                aa != "html" && aa != "div" && 
                e.clientTop && e.clientLeft) {
                s.sol += e.clientLeft;
                s.ust += e.clientTop;
            } e = e.offsetParent;
        }
    else if(e.left && e.top) {
        s.sol = e.left;
        s.ust = e.top;
    } else {
        if(e.x) s.sol = e.x;
        if(e.y) s.ust = e.y;
    } return s;
}
 
myNotlar Hakkında
Telif Hakkı © 2007-2009 mynotlar.com Tüm Hakları Saklıdır. Kopyalanamaz. Yayınlanamaz.
E-Posta : support@myNotlar.com

| Tek Kişilik Oyunlar | Sudoku | Oyunlar |