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)
elem | Sayfaya göre soldan ve üstten uzaklığı öğrenilecek element. |
Dönüş Değeri
konum | Elementin soldan ve üstten olan uzaklık verilerini içeren konum nesnesi döner. |
Özellikler
Özellik | Açıklama |
konum.sol | Sayfaya göre soldan uzaklığı verir. |
konum.ust | Sayfaya 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
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;
}