JavaScript ile bir nesnenin soldan ve üstten uzaklığını öğrenme - JavaScript Webmaster bilgi bankası, knowledge base Webmaster Araçları

AnaSayfa > JavaScript > JavaScript ile bir nesnenin soldan ve üstten uzaklığını öğrenme
Kategori: JavaScript
Gönderen: Admin
Tarih: 2008-12-07
Puan: 7   Puan:7 | Katılımcı:3 | Katılımcı : 3
Okunma: 4112
  
 
1 puan 2 puan 3 puan 4 puan 5 puan 6 puan 7 puan 8 puan 9 puan 10 puan

<script>
var parentSayisi = 0;
var sol = 0;
var ust = 0;

function parentSay(nesne) {
if(typeof(nesne=="object") {
try {
parentSayisi += 1
if(!isNaN(nesne.offsetLeft)) {
sol += parseInt(nesne.offsetLeft)
ust += parseInt(nesne.offsetTop)
}
parentSay(nesne.offsetParent)
} catch(e) {}
}
}
</script>
<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>
                          <input type="button" id="Sniper" value="Tıkla bana!" onclick="parentSay(this);alert(´Benim soldan uzaklığım: ´+sol+´px Üstten uzaklığım ise: ´+ust+´px´dir´)" style="font:normal normal bold 11px verdana; color:#FF6600">

Not: Fonksiyonun dışında tanımlanan "parentSayisi", "sol" ve "ust" isimli değişkenler fonksiyon için önem arz ettiğinden bu değişkenlerin es geçilmemesi fonksiyonun düzgün çalışabilmesi için önemlidir. Soldan ve üstten uzaklığı öğrenilmek istenen nesnenin "onClick", "onMouseOver" vs. olaylarına parentSay(this) ibaresinin eklenmesi o nesnenin sol ve üst uzaklığının öğrenilmesi için yeterlidir. Sayfanın herhangi bir yerindeki nesnenin koordinatlarının öğrenilebilmesi için parentSay() fonksiyonuna "document" nesnesinin "getElementById()" metoduyla nesnenin ID´si yazılmalı ve "sol" ve "ust" değişkenleri bundan sonra talep edilmelidir. Örnek: <body onload="parentSay(document.getElementById(´Sniper´));alert(´Nesnenin soldan uzaklığı: ´+sol+´px Üstten uzaklığı ise: ´+ust+´px´dir´)">

Not 2: Firefox 1.0.4, Opera 8.51, Mozilla 1.7 ve IE 6.0´da denemiştir ve hiçbir sorunla karşılaşılmamıştır.






Yorumlar
Henüz Kimse Yorum Yapmamış, ilk yorumu siz ekleyin!
Yorum Ekleme Aparatı
Yorum Eklemek için lütfen sol menuden giris yapınız..
Toplam 0 yorum listelendi.