Web sayfamın Programlama bölümünün HTML ve JavaScript bölümlerini okuduğunuza göre, şimdi size DHTML'den bahsedebilirim: dinamik HTML'in kısaltması olan DHTML, JavaScript ile HTML'in aynı anda kullanıldığı, hareketli web sayfalarına denir.

BAŞKA NASIL KULLANILABİLİRDİ Kİ ?

Biraz konu dışı olsa da, kimileri başka kullanımları neler olur onu düşünüyor olabilir: bir kere, HTML tek başına her türlü sayfa tasarımı içi kullanılıyor olabilir. Onun dışında, JavaScript dili Windows altında otomatik işlemler yapmak için de kullanılabilir detaylar için Microsoft Windows Scripting sayfasına bakabilirsiniz. Örneğin ben, aylık bilgisayar temizleme ve organizasyon işlerini JScript ile yapmaktayım.

HTML'DEN JAVASCRIPT'E

HTML içinden JavaScript çağırmak, aslında görece kolay bir işlemdir: bunun için ilk yöntem, javascript: ile başlayan bir link vermektir, örneğin <a href=javascript:window.alert("merhaba")> şeklinde (denemek için link'e tıklayabilirsiniz).

Öte yandan, HTML bize bundan çok daha fazlasını sunmaktadır: olay (event) tabanlı çağırma. Önce olay nedir onu açıklayalım: efedim olay, bir web sayfasında oluşan herhangi bir durumdur. Örneğin sayfanın yüklenmesinin bitmiş olması (onLoad), sayfanın az sonra kapatılacak olması (onBeforeUnload), bir nesnenin (yani ister resim ister katman) üzerinden farenin geçmiş (onMouseOver), geçmeyi bitirmiş (onMouseOut), tıklamış (onClick), ... olması gibi. HTML'de olaylar hem tüm doküman üzerinde (daha önce bahsettiğim onLoad, onUnLoad ve onBeforeUnload'a ek olarak fare hareketi olan onMouseMove, klavye düğmesi olan onKeyDown ve onKeyUp veya sayfanın boyunun değişmesi veya kıpırdaması olan onResize ve onScroll) veya bir eleman için (onMouseOver gibi olaylar bu kategoridedir) olabilir. Bu sayede, örneğin, üzerinden fare geçerken bir yazının renk değiştirmesi sağlanabilir:

<div onmouseover=this.style.color="#ff00ff" onmouseout=this.style.color="#000000">deneme</div>

Benim sitemde ise fare hareketleri, farenin tıklayama başlaması ve tıklamayı bırakması (pencerelerin boyutu değiştirilirken), elemanların (mesela aşağıdaki ikonların) üzerinden geçmesi gibi durumlardaki olaylar muhtelif JavaScript fonksiyonlarına gider ve bu sayede sitemin "pencere yöneticisi" çalışır...

JAVASCRIPT'TEN HTML'E

HTML'de resimler, tablolar ve katmanlara isim verilebilir: bunun için id (identifier, yani "kimlik" anlamında) komutu kullanılabilir, örneğin:

<div id="ali">deneme</div>

Ardından, JavaScript'in sunduğu getElementById fonksiyonu kullanılarak bu elemanlara ulaşılabilir. Örneğin, deminki katmanın rengini buradan değiştirmek için şu katmanı yaratalım:

<div onmouseover=getElementById("ali").style.color="#ff00ff" onmouseout=getElementById("ali").style.color="#000000">deneme</div>

Gördüğünüz üzere, bu katmanın üzerinden farenizi geçirince "ali" katmanının rengi değişiyor!

WEB SAYFASINDAN DA FAZLASI...

Benim tüm web sayfam bu tür metodlar kullanılarak kodlandı, ki bu da DHTML'in ne kadar güçlü olduğununun bir "kanıtı" gibi görülebilir. Daha da önemli olan nokta şudur: benim web sayfamda bir pencere yöneticisi var, ve tüm bu yöneticinin kodunun uzunluğu 500 satırın altında! Windows gibi işletim sistemlerinin pencere yöneticileri benimkinden o kadar da karmaşık olmamasına rağmen genelde onbinlerce hatta yüzbinlerce satırla ancak ifade edilebilir! Bu tür farklar diğer uygulamalar için de (mesela en basitinden bir resim gösterici programı için) geçerlidir, dolayısıyla kimi kodları DHTML ile yazmak programcıyı büyük eforlardan kurtarabilir... Zaten, Microsoft da C++ / Basic programlarında DHTML arayüz kullanmak isteyen programcılara CHtmlView arayüzünü sunar. Bu sayede, C++ / Basic programınızda çok güzel ve son derece dinamik arayüzlere çook az uğraşarak sahip olabilirsiniz.

RAHATÇA DHTML KODU YAZMAK

Rahatça DHTML yazmak için iki tür program vardır: gelişmiş yazı editörleri ve DHTML editörleri. Gelişmiş yazı editörleri, sizin yazdığınız DHTML kodun HTML ve JavaScript bölümlerindeki anahtar kelimeleri değişik renklerde sunarak okumayı ve kodlamayı kolaylaştırır; tavsiye edebileceğim bir program Downloadlar bölümünden de ulaşabileceğiniz Notepad++ isimli programdır. DHTML editörleri ise, mesela Microsoft FrontPage veya Visual Web Developper -her ikisinin de Express, yani ücretsiz sürümleri var- veya Mozilla'nın editörleri gibi programlar, size JavaScript üretirken tavsiyede bulunabilir: bir isim girerken CTRL ve boşluk tuşlarına aynı anda basınca kelimelerin devamını getirir, bir elemanın özelliklerini size otomatik olarak listeleyebilir ve hatta sizin için otomatik kod bile üretebilir! Her iki tür program da JavaScript uygulamaları geliştirirken size son derece yararlı olacaktır, ve tabii ki bu yazılımlar iki tanesini (en sevdiklerim: Notepad++ ve Microsoft Visual Studio Express) indirebileceğiniz linkleri web sayfamın Downloadlar bölümünde bulacaksınız.