Jump to content
Joao brandao

Alterar cor do quadrado ao clicar

Recommended Posts

Joao brandao


<body>
<script language="javascript">
<!--Inicialização das variaveis e introduçao ao codigo-->
var I;
<!-- Funçoes -->
I=parseInt(1);
function jogador(opcao)
{
if((I % 2)==1)
{
alert("Entrou");
document.getElementById(opcao).bgColor="red";
I=parseInt(I)+parseInt(1);
}
else

document.getElementById(opcao).bgColor="blue";
                I=parseInt(I)+parseInt(1);
alert("Y");

}

</script>
<table width="488" height="339" border="1" align="center" bordercolor="#000000" bgcolor="#00FF00">
  <tr>
    <td id="area1" onclick="jogador('area1');">1</td>
    <td id="area2" onclick="jogador('area2');">2</td>
    <td id="area3" onclick="jogador('area3');">3</td>
  </tr>
  <tr>
    <td id="area4" onclick="jogador('area4');">4</td>
    <td id="area5" onclick="jogador('area5');">5</td>
    <td id="area6" onclick="jogador('area6');">6</td>
  </tr>
  <tr>
    <td id="area7" onclick="jogador('area7');">7</td>
    <td id="area8" onclick="jogador('area8');">8</td>
    <td id="area9" onclick="jogador('area9');">9</td>
  </tr>
</table>
</body>
[/Code]

Queria que sempre que o I fosse Impar a cor que pintava era vermelho  quando o utilzador clica-se no quadrado e quando fosse par seria azul. Mas o problema é que isto n esta a dar n sei pk, so pinta de 1 cor. o que esta mal é o codigo da soma decerteza. Podem me ajudar aqui nisto sff.

Cumprimentos,

Joao Brandao

Share this post


Link to post
Share on other sites
jsWizard

Não tens chavetas no ELSE.. ou seja, só a primeira linha de código é que é considerana como pertencente ao ELSE. Logo, as duas linhas finais são sempre executadas. Certo?

Share this post


Link to post
Share on other sites
KTachyon

Porque fazes o parseInt() a valores inteiros?


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
brunoais


  1. Erros graves
    1. Os comentários HTML não são compatíveis com javascript
    2. Meter chavetas a envolver todos os comandos do if e ter chavetas a envolver todos os comandos do else ajudam a resolver problemas

    [*]Outros erros

    1. [*]O operador ++ é útil para se usar quando se quer incrementar um valor

    [*]Repetir código é má ideia, mete o código repetido depois do if, then, else.

    [*]Executar parseInt() num inteiro é só para consumir mais CPU e demorar mais tempo para além do código ficar mais ilegível

    [*]Atributos como o onclick, onchange, onsubmit... são muito má programação. Usa uma das 2 alternativas.

    [*]Aprende a escrever HTML usando o standard HTML4, HTML5, xHTML1.1, xHTML5 ou xHTML1.0. O HTML3.2 já é de século passado e podem haver browsers que não serão compatíveis com ele.

    OU

    Os atributos width, height, border, align, bordercolor, bgcolor, language, etc... Não existem desde o HTML4. Usa CSS.

    [*]Usa o atributo type com a tag <script>. O atributo language já não existe.

    [*]...



"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Joao brandao

eu quando ao parseInt ainda me estou a habituar um bocado :-S dai n saber se estou a fazer o codigo certo na parte de soma.

quanto a parte do if, o codigo do if nao é este

if(condiçao)

{

codigo

}

Else

codigo

ou

if(condiçao)

{

codigo

}

Else

      if(codigo)

    {

      }

    ...

desculpem la mas so tenho JavaScript a  1 semaninha lol ainda estou a aprender o codigo

Share this post


Link to post
Share on other sites
jsWizard

Este tipo de pergunta só me leva a uma conclusão: os "programadores" iniciados dos dias de hoje, ou não sabem que existe documentação, ou acham que a documentação morde, ou são preguiçosos. Eu voto na última! :)

Pahh.. se olhares 5 minutos para a documentação de JavaScript.. descobres logo tudo o que há para saber sobre a sintaxe do IF .. THEN.. ELSE .

Share this post


Link to post
Share on other sites
brunoais

eu quando ao parseInt ainda me estou a habituar um bocado :-S dai n saber se estou a fazer o codigo certo na parte de soma.

quanto a parte do if, o codigo do if nao é este

if(condiçao)

{

codigo

}

Else

codigo

ou

if(condiçao)

{

codigo

}

Else

      if(codigo)

    {

      }

    ...

desculpem la mas so tenho JavaScript a  1 semaninha lol ainda estou a aprender o codigo

Se estás agora a começar a aprender desejo boa sorte tanto para aprenderes como para não encontrares a fonte errada do conhecimento.

em relação ao if then else:

Em js tens 3 alternativas de o contruir (no bem programar):

if(condicao){
}

if(condicao){
}else{
}

if(condicao){
}else if(condicao){
}else if(condicao){
}else if(condicao){
// ....
}else{
}

Neste caso não escrevi código dentro das chavetas mas, de qq modo, isto é sintaticamente válido em js.

Este tipo de pergunta só me leva a uma conclusão: os "programadores" iniciados dos dias de hoje, ou não sabem que existe documentação, ou acham que a documentação morde, ou são preguiçosos. Eu voto na última! :)

Pahh.. se olhares 5 minutos para a documentação de JavaScript.. descobres logo tudo o que há para saber sobre a sintaxe do IF .. THEN.. ELSE .

O problema é encontrar uma boa fonte de informação sobre a sintaxe. Já encontrei bastante lixo e o w3shcools está mais que desatualizado na parte de como se fazer bem.

EDIT:

Estive agora a ver e vi q enganei-me. O w3shcools até serve para aprender javascript mas é má ideia para aprender HTML DOM (usar javascript para manipular o HTML).


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Joao brandao

eu estou  a usar o que aprendi nas aulas :-S aprendi HTML basico  e javascript ainda estou a aprender.

o onchange, onclick,.. sao as unicas coisas que sei que me fazem ligaçao a function que quero. se souberem de alguma coisa que fala isso e me simplifique o codigo ate agradecia.

Share this post


Link to post
Share on other sites
brunoais

procura na internet:

addEventListener

HTML5 Doctype

user attributes (data- attributes)

javascript function scoping

js querySelectorAll()

CSS selectors (se quiseres usar o querySelectorAll())

Com isto deves conseguir obter o básico de programação em js para, pelo menos, essa parte do código.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.