KOMPOOS.NL
water effect script
sitemap
voorbeeld water effect
uitleg water effect procedure
Om het water effect script op jouw pagina te laten werken moet je de html-regels ergens in de body-sectie plaatsen (daar waar je de afbeelding wilt hebben), en het javascript moet je zo laag mogelijk (ook) in de body-sectie plaatsen. In het script moet je de afmetingen van het plaatje exact ingeven. Verder kan je in het script de snelheid (vertraging), opacity en golf-afmetingen bepalen. De variabelen hebben duidelijke namen. Experimenteer om het juiste effect te verkrijgen.
html voor procedure
<div id="water">
<img src="http://static.dns5.nl/water-effect.jpg" width="200" height="300" alt="water effect" />
</div>
javascript water-effect procedure
<script>
var afbeelding = 'http://static.dns5.nl/water-effect.jpg';
var het_id = "water";
var breedte_plaatje = 200;
var hoogte_plaatje = 300;
var begin_hoogte_effect = 185;
var effect_bodem = hoogte_plaatje;
var doorzichtigheid = 100;
var golf_hoogte = 12,
golf_breedte = 3,
vertraging = 180,
de_golfjes = effect_bodem - begin_hoogte_effect,
nummer_van_id = 0,
resultaat, a, i, m;
resultaat = "<div id='basis_div' style=\"position:absolute; top:0px; left:0px; width:" + breedte_plaatje + "px; height:" + hoogte_plaatje + "px; clip:rect(0px," + breedte_plaatje + "px," + hoogte_plaatje + "px,0px); z-index:1;\"><img src='" + afbeelding + "' width='" + breedte_plaatje + "px' height='" + hoogte_plaatje + "px'/></div>";
resultaat += "<div id='reflectie' style=\"position:absolute; top:0px; left:0px; width:" + breedte_plaatje + "px; height:" + hoogte_plaatje + "px; clip:rect(0px," + breedte_plaatje + "px," + hoogte_plaatje + "px,0px); z-index:3; overflow:hidden;\">";
for (i = 1; i <= golf_hoogte; i += 1) {
resultaat += "<div id='golfnum" + i + "' style=\"position:absolute; top:0; left:0; z-index:3;\">";
for (a = i; a <= de_golfjes; a += golf_hoogte) {
resultaat += "<div style=\"position:absolute; top:0; left:0; width:" + breedte_plaatje + "px; height:" + hoogte_plaatje + "px; clip:rect(" + (begin_hoogte_effect + (a * 1) - 1) + "px," + breedte_plaatje + "px," + (begin_hoogte_effect + (a * 1)) + "px,0px); z-index:3; overflow:hidden;\"><img src='" + afbeelding + "' width='" + breedte_plaatje + "px' height='" + hoogte_plaatje + "px'/></div>";
}
resultaat += "</div>";
}
resultaat += "</div>";
function $(het_object) {
return document.getElementById(het_object);
}
var de_golven = [],
de_golvenmeer = Math.PI * 2 / (golf_hoogte - 1),
b = 1;
for (a = 1; a <= golf_hoogte; a++) {
de_golven[de_golven.length] = Math.sin(de_golvenmeer * a) * golf_breedte;
}
function maak_golf() {
if (b <= golf_hoogte) {
$('golfnum' + b).style.left = Math.ceil(de_golven[b - 1]) + "px";
b += 1;
maak_golf();
} else {
b = 1;
de_golven = de_golven.slice(1, de_golven.length);
de_golven[de_golven.length] = de_golven[0];
setTimeout(function() {
maak_golf();
},
vertraging);
}
}
function doe_opacity() {
for (m = 1; m <= de_golfjes; m += 1) {
$('nummer_plaatje' + m).style.MozOpacity = doorzichtigheid / 100;
$('nummer_plaatje' + m).style.opacity = doorzichtigheid / 100;
$('nummer_plaatje' + m).style.filter = "alpha(opacity=" + doorzichtigheid + ")";
}
}
function begin_effect() {
$(het_id).style.position = "relative";
resultaat += "<div style=\"position:relative;height:" + hoogte_plaatje + "px\"></div>";
$(het_id).innerHTML = resultaat;
maak_golf();
}
onload = begin_effect;
</script>
Gebruik voor alle voorbeelden op de http://kompoos.nl een valide html5 pagina.