2008-12-10 3 views
1

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

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

Я могу получить onMouse Вниз и onMouseUp изображение изменяет часть на работу.

Я могу также получить скрытые DIV выявить с помощью OnClick

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

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

Кстати, я уверен, что его очевидное, но я довольно новыми для JavaScript, так что я ценю вашу помощь

+0

Спасибо! Вы, ребята, легенды - использовали немного каждого ответа, и теперь он работает с удовольствием ... не могу объяснить, насколько я счастлив ... спасибо ТАК :)! – 2008-12-10 12:11:21

ответ

1

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

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

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

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

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

+0

Это точки с запятой (;) not colons (:) – Gareth 2008-12-10 10:25:07

0

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

0

Не рекомендуется прикреплять события к элементам с использованием атрибутной нотации непосредственно к тегу элемента 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>