1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| var notWhitespace = /\S/;
var TEXT_NODE;
try {
TEXT_NODE = Node.TEXT_NODE;
} catch(e) {
TEXT_NODE = 3;
}
var ELEMENT_NODE;
try {
ELEMENT_NODE = Node.ELEMENT_NODE;
} catch(e) {
ELEMENT_NODE = 1;
}
function cleanWhitespace(node) {
for (var x = 0; x < node.childNodes.length; x++) {
var childNode = node.childNodes[x];
if ((childNode.nodeType == TEXT_NODE)&&(!notWhitespace.test(childNode.nodeValue))) {
node.removeChild(node.childNodes[x]);
x--;
}
if (childNode.nodeType == ELEMENT_NODE) {
cleanWhitespace(childNode);
}
}
}
var spoilUncovered = false ;
function gere_spoil(elem) {
div_parent = elem.parentNode ;
cleanWhitespace(div_parent) ; // Si j'ai bien tout compris, c'est bien ici qu'il faut le mettre non ?
i_max = div_parent.childNodes.length ;
window.alert('i max vaut : '+i_max) ;
for (i=0 ; i < i_max-1 ; i++) {
if (div_parent.childNodes[i] == elem) {
var colP = (spoilUncovered)?('#FFFFFF'):('#000000') ;
spoilUncovered = !spoilUncovered ;
div_parent.childNodes[i+1].style.color = colP ;
for (j=0,j_max=div_parent.childNodes[i+1].childNodes.length ; j<j_max ; j++) {
if (div_parent.childNodes[i+1].childNodes[j].tagName != undefined) {
div_parent.childNodes[i+1].childNodes[j].style.color = colP ;
}
}
break ;
}
}
} |