PHP expert |
|
Een paar opmerkingen/tips:
1) In CSS kun je de komma gebruiken voor het toepassen op van dezelfde eigenschappen op meerdere elementen:
#div1, #div2, #div3, #div4, #div5, #div6 { display:none; }
#div1, #div2, #div3, #div4, #div5, #div6 { display:none; }
2) Het is (waarschijnlijk, niet geheel zeker) beter om type="text/javascript" te gebruiken in plaats van language="javascript"
3) Waarom heb je eigelijk het volgende code fragment tussen divjes gezet ?
<script language="javascript">showTekst(0 , 'test');</script>
<script language="javascript">showTekst(0 , 'test'); </script>
Het is normaal gesproken tussen de head tags:
<head>
<script type="text/javascript">
// je functie hier definieren bijv.
window.onload = function() {
showDiv(1);
};
</script>
</head>
<script type="text/javascript"> // je functie hier definieren bijv. window.onload = function() { showDiv(1); };
window.onload betekent: voer de volgende code zodra de DOM ingeladen is.
4) Je kunt het best gebruik maken van een recursieve functie:
var totalSeconds = 5;
var maxDivs = 5;
function showDiv(divIterator) {
if (divIterator > maxDivs) {
return true;
}
if (divIterator > 1) {
document.getElementById('div' + (divIterator - 1)).style.display = 'none';
}
document.getElementById('div' + divIterator).style.display = 'block';
setTimeout(function() {
showDiv(divIterator+1);
}, (totalSeconds * 1000));
}
var totalSeconds = 5; var maxDivs = 5; function showDiv(divIterator) { if (divIterator > maxDivs) { return true; } if (divIterator > 1) { document.getElementById('div' + (divIterator - 1)).style.display = 'none'; } document.getElementById('div' + divIterator).style.display = 'block'; setTimeout(function() { showDiv(divIterator+1); }, (totalSeconds * 1000)); }
Zo heb je een veel kortere en hopelijk makkelijker te begrijpen functie. Als je iets in de functie niet begrijpt, vraag het gerust, dan leg ik het stap voor stap uit |