Document Object Model

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

Document Object Model, "DOM", "Belge Nesnesi Modeli" anlamlarına da gelmektedir. İnternet tarayıcıları girilen internet sayfasını bir belge, bu belge (sayfa) içerisinde bulunan tüm elemanları da nesne olarak kabul eder. Buna göre resim, yazı, form gibi tüm elemanlar nesnedir. İşte DOM sayfa içindeki herhangi bir nesnenin özelliğine müdahele edebilmemize, nesne özelliklerini değiştirebilmemize olanak sağlar. Bunu yapabilmek için de JavaScript gibi bazı script dilleri kullanmamız gerekir.

Nasıl kullanılır? (Örnek)[değiştir | kaynağı değiştir]

Sayfamızda bulunan bir resim nesnesi üzerinde fare üzerine getirilince kırmızı bir kenarlık, fare üzerinden çekilince mavi bir kenarlık olmasını istiyoruz. Bunu tarayıcıya yaptırabilmek için iki şekilde kod yazabiliriz.

1. yöntem[değiştir | kaynağı değiştir]

Doğrudan resim nesnesinin etiketi üzerinde scripti çalıştırabiliriz.

  <img src="resim.jpg" border="1" onMouseOver="this.style.border='1px solid red'" onMouseOut="this.style.border='1px solid blue'">

2. yöntem[değiştir | kaynağı değiştir]

İlk olarak web sayfasımızın <head>etiketi</head> arasına (tavsiye edilir, zorunlu değildir) ya da herhangi bir yerine aşağıdaki betiği yazmamız gerekir.

  <script type="text/javascript">
function kirmizi(){
document.resim.style.border='1px solid red';
}
function mavi(){
document.resim.style.border='1px solid blue';
}
</script>

Daha sonra resim üzerinde yukarıdaki scriptimizi çalıştırabilmemiz için onMouseOver ve onMouseOut uygulamalarını kullanmamız yeterli olacaktır. Script resim isimli nesneyi bularak yapılması gereken müdahaleyi yapacaktır.

  <img src="resim.jpg" border="1" name="resim" onMouseOver="kirmizi()" onMouseOut="mavi()">

Birden fazla nesnede uygulanışı ise aşağıdaki gibi olabilir[değiştir | kaynağı değiştir]

Öncelikle aşağıdaki betik sayfada <head>etiketi</head> veya herhangi bir yere yazılır.

  <script type="text/javascript">
function kirmizi(Obj){
Obj.style.border='1px solid red';
}
function mavi(Obj){
Obj.style.border='1px solid blue';
}
</script>

Daha sonra yine onMouseOver ve onMouseOut uygulamaları kullanılır.

  <img src="resim1.jpg" border="1" onMouseOver="kirmizi(this)" onMouseOut="mavi(this)">
  <img src="resim2.jpg" border="1" onMouseOver="kirmizi(this)" onMouseOut="mavi(this)">

Fonksiyonların mudahele edeceği nesneyi tanıması için de this koduyla fonksiyona (function) tanımlama gönderilir. this tanımlaması alan fonksiyon Obj isimli tanımsız olan nesneyi this aracılığı ile tanımlayacak ve gereken müdahaleyi yapacaktır.

Detaylı bilgi[değiştir | kaynağı değiştir]