Question

J'ai un gros bouton rouge et je suis en train d'utiliser le javascript pour effectuer les opérations suivantes: -

  1. onMouseDown changer l'image de sorte que le bouton a l'air déprimé
  2. onMouseUp revenir à l'image initiale et révéler un div caché

Je peux obtenir le onmouse vers le bas et l'image change onMouseUp partie au travail.

Je peux aussi obtenir le div caché de révéler à l'aide Surclic

Le problème est que je ne peux pas obtenir tout de travailler ensemble.

Comment puis-je faire?

BTW, je suis sûr que son évident, mais je suis assez nouveau javascript, donc je vous remercie de votre aide

Était-ce utile?

La solution

Vous pouvez utiliser des points-virgules pour séparer les instructions de script multiples dans un événement:

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

En outre, je crois que la plupart des navigateurs prennent en charge l'événement onclick:

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

Puisque vous avez dit que vous aviez déjà compris chacune des 3 parties séparément, je viens d'écrire que des appels de fonction, vous pouvez remplacer par votre propre code pour chaque étape.

Autres conseils

Sans voir votre code, il est difficile de dire, mais je soupçonne un manque « return true; » déclaration à la fin de l'une ou l'autre des gestionnaires d'événements onclick ou onmouseup.

Il n'a jamais recommandé d'attacher des événements aux éléments en utilisant la notation d'attribut directement à la balise d'un élément HTML.

Il est un beaucoup mieux pratique pour séparer la vue (soit le rendu HTML) du contrôleur (les actions qui se passe)

La meilleure façon de joindre un événement comme tel:

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top