DHTML : Inleiding tot DHTML

  1. Wat is DHTML?
  2. DHTML micro API
  3. oefeningen

Wat is DHTML?

De term DHTML wordt op het internet op verschillende manieren omschreven. De opvatting die ik hanteer in deze cursus is:

DHTML = het aanpassen van CSS-eigenschappen van een element op een webpagina met behulp van Javascript.

Voor het leren van DHTML is dus een kennis van volgende onderwerpen onontbeerlijk:

Stijleigenschappen benaderen

Om de stijleigenschappen van een element te benaderen hebben we opnieuw browserproblemen: niet alle browsers volgen dezelfde manier.

Voorbeeld

In de volgende toepassing hebben we een divisie met id vierkant.

Met behulp van twee hyperlinks kan je de achtegrondkleur van deze divisie instellen. De CSS-eigenschap voor de achtergrondkleur is background-color. Willen we deze eigenschap instellen met DHTML dan spreken we de eigenschap backgroundColor aan en passen deze aan.

We zorgen er in de functie kleurVierkant voor dat deze aanpassing cross-browser gebeurt.

Kleur groen | Kleur rood

<script type="text/javascript">
<!--
function kleurVierkant(kleur){
	if(document.getElementById){
		document.getElementById("vierkant").style.backgroundColor = kleur;
	} else if (document.all) {
		document.all["vierkant"].style.backgroundColor = kleur;
	} else if (document.layers) {
		document.layers["vierkant"].backgroundColor = kleur;
	}
}
-->
</script>
<div id="vierkant" style="width:50px;height:50px;background-color:red"></div>
<p>
<a href="javascript:kleurVierkant('green')">Kleur groen</a> | 
<a href="javascript:kleurVierkant('red')">Kleur rood</a>

Opmerking: voor geneste layers in Netscape 4 is nog wat extra code nodig.

DHTML micro-API

Bovenstaande manier voor het benaderen van CSS-eigenschappen vanuit Javascript is cross-browser. Het zou echter een hele klus worden om voor elke element telkens deze code te hernemen.

Vandaar dat we om de stijleigenschappen van elementen te benaderen de functie getObj uit het hoofdstuk DOM aanpassen. Deze functie staat ons toe de elementeigenschappen te manipuleren via een eigenschap obj van het object dat we met behulp van deze constructorfunctie aanmaken.

We passen deze functie aan zodanig dat we een cross-browser functie bekomen waarmee we via de eigenschap style de stijleigenschappen van het element kunnen manipuleren.

De credits voor deze functie gaan naar quirksmode.

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

We kunnen vooraleer we DHTML-acties uitvoeren testen of we DHTML kunnen gebruiken op de pagina door te testen of een van de gebruikte technieken wordt ondersteund, en het resultaat op te slaan in een Boolean variabele:

var DHTML = (document.getElementById || document.all || document.layers);

Toepassing: intro DHTML micro API

Maak een toepassing waarbij je een stukje tekst in een divisie plaatst.

Volgende acties kan je ondernemen met de tekst:

Oefeningen

Oefeningen

Meer tutorials:
leer ook: html | xhtml | css | asp | asp.net | c# | ado.net | linq | ajax | java | javascript
Valid HTML 4.01! Valid CSS! © - Cursusweb