Javascript нажмите кнопку + показать - PullRequest
1 голос
/ 10 декабря 2008

У меня есть большая красная кнопка, и я пытаюсь использовать JavaScript для выполнения следующих действий: -

  1. OnMouseDown меняет изображение, чтобы кнопка выглядела нажатой
  2. OnMouseUp вернуться к исходному изображению и показать скрытый div

Я могу заставить работать часть изображений onMouse Down и onMouseUp.

Я также могу получить скрытый div, чтобы показать с помощью OnClick

Проблема в том, что я не могу заставить все это работать вместе.

Как мне это сделать?

Кстати, я уверен, что это очевидно, но я довольно плохо знаком с javascript, поэтому я ценю вашу помощь

Ответы [ 3 ]

1 голос
/ 10 декабря 2008

Вы можете использовать точки с запятой для разделения нескольких операторов сценария в событии:

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

Кроме того, я считаю, что большинство браузеров поддерживают событие onclick:

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

Поскольку вы сказали, что вы уже разобрались с каждой из 3 частей в отдельности, я просто написал вызовы функций, которые вы можете заменить своим собственным кодом для каждого шага.

0 голосов
/ 11 декабря 2008

Никогда не рекомендуется прикреплять события к элементам с использованием нотации атрибута непосредственно к тегу html-элемента.

Это гораздо лучшая практика отделять представление (являющееся визуализированным html) от контроллера (происходящие действия) Лучший способ прикрепить событие так:

<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>
0 голосов
/ 10 декабря 2008

Трудно сказать, не видя твой код, но я подозреваю, что пропущенное «верни истину»; оператор в конце обработчиков событий onclick или onmouseup.

...