par
jojolapine » 23 déc. 2009, 11:35
Alors il va falloir stocker l'ancienne valeur quelque part

, je ferai comme ça:
Code : Tout sélectionner
<script language="javascript">
var colorTmp=''; // variable déclaré en global
function colore(obj) {
colorTmp=obj.style.background;
obj.style.background = '#FF0000';
}
function decolore(obj) {
obj.style.background = colorTmp;
}
</script>
Mais ça veut dire qu'il faut que tu définisses ces couleurs, dans le code html, sinon
obj.style.background ne retournera rien...
Sinon une solution plus propre, tu crées une classe
table_color_hover, et tu faits en sorte qu'au survol, l'élément ai ceci dans ces classe:
Ainsi la dernière classe écrase le reste, et ensuite, il suffit de l'enlever, à coup de split ou autre...
ça ferait qqch comme ça:
Code : Tout sélectionner
<script language="javascript">
function colore(obj) {
obj.className += ' table_color_hover';
}
function decolore(obj) {
tmp=obj.className;
tmp=tmp.split(' ');
obj.className=tmp[0];
}
</script>
Voilà

Alors il va falloir stocker l'ancienne valeur quelque part ;), je ferai comme ça:
[code] <script language="javascript">
var colorTmp=''; // variable déclaré en global
function colore(obj) {
colorTmp=obj.style.background;
obj.style.background = '#FF0000';
}
function decolore(obj) {
obj.style.background = colorTmp;
}
</script>[/code]
Mais ça veut dire qu'il faut que tu définisses ces couleurs, dans le code html, sinon [i]obj.style.background[/i] ne retournera rien...
Sinon une solution plus propre, tu crées une classe [i]table_color_hover[/i], et tu faits en sorte qu'au survol, l'élément ai ceci dans ces classe:
[code]<elmt class="table_color_x table_color_hover">[/code]
Ainsi la dernière classe écrase le reste, et ensuite, il suffit de l'enlever, à coup de split ou autre...
ça ferait qqch comme ça:[code] <script language="javascript">
function colore(obj) {
obj.className += ' table_color_hover';
}
function decolore(obj) {
tmp=obj.className;
tmp=tmp.split(' ');
obj.className=tmp[0];
}
</script>[/code]
Voilà ;)