Bonjour !
j'ai ecrit un script qui produit un effet de generique de film (le texte s'evanouit vers le haut et vers le bas de la fenetre). Il fait exactement ce que je voulait. Heureusement, je n'ai que 5 paragraphes a traiter.
Neanmoins, je voudrais modifier la fonction pour pouvoir ne l'appeler qu'une fois pour toutes Peut-etre avec quelque chose comme getelementbytagname'... Si tu as une idee.
Voila le script :
<body
BGCOLOR="#ffffff"
TEXT="#000000"
onscroll="transcolorer('0'); transcolorer('1'); transcolorer('2'); transcolorer('3'); transcolorer('4');"
>
<center
style="font-size:44;"
>
<STYLE TYPE="text/css" >
p
{
margin-top:15%;
line-height:125%;
}
</STYLE>
<p style="margin-top:35%" id="0">
Dominique Braschi-Blondeau
<br>
presente
<p id="1">
une production de
<p id="2">
Cosmic Village Productions
<p id="3">
realisee par
<p id="4">
Stephane Lembaumeur
<table height="93%">
<tr>
<td
id="conteneur" align="center"
style="line-height:125%;"
>
</table>
</center>
<script language="JavaScript">
function transcolorer(id)
{
position = document.getElementById(id).offsetTop - document.body.scrollTop
if( position < window.innerHeight / 2 )
taux = position / ( window.innerHeight / 2 )
else
taux = ( window.innerHeight - position ) / ( window.innerHeight / 2 )
coul_bord = document.bgColor
coul_mil = document.fgColor
delta_r = parseInt(coul_bord.slice(1, 3), 16) - parseInt(coul_mil.slice(1, 3), 16)
delta_v = parseInt(coul_bord.slice(3, 5), 16) - parseInt(coul_mil.slice(3, 5), 16)
delta_b = parseInt(coul_bord.slice(5, 7), 16) - parseInt(coul_mil.slice(5, 7), 16)
r_cour = parseInt( parseInt(coul_bord.slice(1, 3), 16) - ( taux * delta_r ) )
v_cour = parseInt( parseInt(coul_bord.slice(3, 5), 16) - ( taux * delta_v ) )
b_cour = parseInt( parseInt(coul_bord.slice(5, 7), 16) - ( taux * delta_b ) )
document.getElementById(id).style.color = 'rgb(' + r_cour + ',' + v_cour + ',' + b_cour + ')'
}
</script>