Javascript clique de botão + revelar

votos
1

Eu tenho um grande botão vermelho e eu estou tentando usar javascript para executar o seguinte: -

  1. Onmousedown mudar a imagem de modo que o botão parece deprimido
  2. OnMouseUp voltar à imagem inicial e revelar um div oculto

Posso obter o onMouse Down e imagem onMouseUp muda parte para o trabalho.

Eu também pode obter a div oculta para revelar usando OnClick

O problema é que não pode obter tudo isso para trabalhar em conjunto.

Como eu faço isso?

BTW, eu tenho certeza que é óbvio, mas eu sou bastante novo para javascript, então eu aprecio sua ajuda

Publicado 10/12/2008 em 09:57
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

Você pode usar ponto e vírgula para separar várias instruções de script em um evento:

<img src="..." alt="..."
  onmousedown="depressed();"
  onmouseup="undepressed(); revealDiv();" />

Além disso, eu acredito que a maioria dos navegadores apoiar o evento onclick:

<img src="..." alt="..."
  onmousedown="depressed();"
  onmouseup="undepressed();"
  onclick="revealDiv();" />

Desde que você disse que já tinha descoberto cada uma das 3 partes separadamente, eu só escrevi chamadas de função que você pode substituir com seu próprio código para cada etapa.

Respondeu 10/12/2008 em 10:12
fonte usuário

votos
0

Nunca é recomendável anexar eventos a elementos usando a notação atributo diretamente a tag de um elemento html.

É uma prática muito melhor para separar a visão (sendo o html renderizado) do controlador (as ações acontecendo)

A melhor maneira de anexar um evento é como tal:

<img id="abut" />

<script>
var thebutton = document.getElementById('abut'); //Retrieve the button from the page 
thebutton.onmousedown = depressed; //depressed is a function that you declare earlier on...here, you are just passing a reference to it
thebutton.onmouseup = function () {
    undepressed();
    revealDiv(); //Invoke the two functions when the 'onmouseup' is triggered'
};
</script>
Respondeu 11/12/2008 em 20:21
fonte usuário

votos
0

Sem ver seu código, é difícil dizer, mas eu suspeitar de uma falta 'return true;' declaração no final, quer do onclick ou manipuladores de eventos OnMouseUp.

Respondeu 10/12/2008 em 10:02
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more