dHtml - Tarayıcılar için ortak görünürlük fonksiyonu
dHtml January 12th, 2008->
Yukarıda browsler için tek tek bir katman üzerinde görünürlük için gerekli fonksiyonları inceledik. Şimdide ortak fonksiyonları yazalım. Öncelikle browser kontrolünü mutlaka yapmak zorundayız.
ie4 = (document.all) ? true : false;
ns4 = (document.layers) ? true : false;
ns6 = (document.getElementById && !document.all) ? true : false;
Ve fonksiyonlarımızı yazabiliriz.
function gizle(katman)
{
if(ie4)
document.all[katman].style.visibility = “hidden”;
if(ns4)
document.layers[katman].visibility = “hide”;
if(ns6)
document.getElementById(katman).style.visibility = “hidden”;
}
function goster(katman)
{
if(ie4)
document.all[katman].style.visibility = “visible”;
if(ns4)
document.layers[katman].visibility = “show”;
if(ns6)
document.getElementById(katman).style.visibility = “visible”;
}
Ortak ifadeleri denemek için tıklayınız .
Yeni çalışmamızda aynı işlemi katmanı bir nesne yaparak kullanacağız. Bunun için sayfa yüklendiğinde elimizdeki elemanı bir pointer olarak tanımlayacağız ve sonra işlemlerimizi bunun üzerinden yapacağız.
if(ie) eleman = document.all['katmanIDsi'].style;
if(ns4) eleman = document.layers['katmanIDsi'];
if(ns6) eleman = document.getElementById(’katmanIDsi’).style;
Bu işlemi kullanacağımız elemana uyarlamak için sayfa yüklendiğinde bir fonksiyon çağırmak zorundayız. Bunun için onLoad eventini kullanıyoruz. Bu eventi ister body tagı içerisinde ve istersekde script içerisinde tanımlayabilir. İkinci yolu şu an için seçtik.
function tanimla()
{
if(ie) eleman = document.all['alan'].style;
if(ns4) eleman = document.layers['alan'];
if(ns6) eleman = document.getElementById(’alan’).style;
}
onload = tanimla;
onload = tanimla; şeklindeki ifade sayfa yüklendiğinde tanimla fonksiyonunu çağırmak için onload eventini kullanmak için ifade içerisine konuldu.
Aşağıdaki ifade ise görünürlük için kullanacağımız fonksiyonu tanımlıyor.
function gorunurluk(eleman,durum)
{
if(durum)
{
if(ns4) eleman.visibility = "show";
if(ie||ns6) eleman.visibility = "visible";
}
else
{
if(ns4) eleman.visibility = "hide";
if(ie||ns6) eleman.visibility = "hidden";
}
}


























Son Yorumlamalar