2011-02-07 6 views
0

J'essaye de changer la couleur d'arrière-plan et de texte d'une table et toutes ses cellules avec un temporisateur. J'ai le script ci-dessous juste avant l'étiquette de fin. Le fond est la seule chose qui change. L'identifiant de la table est 'titleTable'. MerciModifier la couleur d'arrière-plan et la couleur du texte avec un temporisateur avec Javascript

<script language="Javascript"> 
<!-- Begin 
titleTable.bgColor='#FFFFFF'; 
setInterval("Timer()", 500); 
x=1; 
function Timer() { 
    set=1; 
    if(x==0 && set==1) { 
     titleTable.bgColor='#000000'; 
     titleTable.style.color='#FFFFFF'; 
     x=1; 
     set=0; 
    } 
    if(x==1 && set==1) { 
     titleTable.bgColor='#FFFFFF'; 
     titleTable.style.color='#000000'; 
     x=0; 
     set=0; 
    } 
} 
// End --> 
</script> 
+0

Pourriez-vous poster le code dont vous disposez, afin de faciliter la résolution des problèmes liés au problème? – Loktar

+0

le code affiche maintenant ... – hunter

+0

Vous pouvez mettre en forme du code en le mettant en retrait avec quatre espaces. – SLaks

Répondre

3
(function() { 
    var s = document.getElementById('titleTable').style, 
     f = false, 
     c1 = '#000000', 
     c2 = '#ffffff'; 

    setInterval(function() { 
     s.backgroundColor = f ? c1 : c2; 
     s.color = f ? c2 : c1; 
     f = !f; 
    }, 500); 
})(); 

démonstration en direct:http://jsfiddle.net/Dzk2h/2/

Il suffit de mettre le code ci-dessus dans un élément <script> au bas de votre page.

+0

Merci d'avoir joint ce script .. m'a aidé à trouver ce qui se passait. – VagueExplanation

1

var titleTable = document.getElementById ('titleTable');

if (x == 0 & & ensemble == 1)
->
if ((x == 0) & & (set == 1))

Il suffit d'utiliser la balise "clignotent" =)

Ah, "Le fond est la seule chose qui change". Vérifier les styles. Si vous avez une règle CSS comme

#titleTable td { color: black; } 

Il ne sera pas redéfini en définissant le style en ligne à la table.

+0

Ah oui! C'était ça. Je ne pensais pas. – VagueExplanation

+0

Juste pour quelqu'un d'autre qui a des problèmes avec cela, apparemment, vous ne pouvez pas modifier les pseudo tags pour html avec javascript globalement. Par exemple, il n'y a aucun moyen (que j'ai trouvé) que vous pouvez éditer toutes les propriétés de style de balises h1. Au lieu de cela, vous devez donner un identifiant unique à cette balise et l'éditer avec javascript à partir de là. – VagueExplanation

+0

Bien sûr) Mais il y a un moyen de manipuler les règles CSS de js. https://developer.mozilla.org/en/Gecko_DOM_Reference/Examples#Example_3:_Manipulating_Styles – kirilloid

Questions connexes