При нажатии и удержании мыши заменяется картинка
Здравствуйте!
Помогите пожалуйста с событием. Есть ли такое событие типа onClick, только при нажатии и удержании? При нажатии и удержании на картинку-кнопку, будет подставлять другая картинка, а при отжатии возвращаться обратно оригинальное изображение. Таким образом получается эффект нажатия на кнопку. пример как в меню Apple http://apple.com попробуйте нажать и удержать на ссылке меню Mac например Заранее благодарен! |
onmousedown -- клавиша нажата
onmouseup -- клавиша отпущена |
Только на сайте Apple используют псевдо-класс :active в CSS, а не JavaScript.
|
Ага, точно. Так даже лучше, если нужна ссылка.
|
На сайт Эппл не заходят из IE6, хехе.
|
Здравсвуйте. Я тут сделал скриптик который при клике на ссылку прибавляет определенное число в инпуте, (вобщем простой скриптик)
Так вот, как сделать чтобы при onMouseDown (например) и удержании цифри все еще прибалялись с увеличением шага прибавления, или скоростью прибавления. Пример в ворде > абзац > отступ > там 2 стрелочки, одна прибавляет циферку другая уменьшает, а если долго подержать нажатую кнопку мыши, то циферки быстро увеличиваются или уменьшаются. Мой скриптик выглядит так nextNumber = function() { var str =document.getElementById("price-from").value; RegEx=/\s/g; str=str.replace(RegEx,""); var x= parseInt(str); x+=500000; document.getElementById("price-from").value = search.number_format(x, 0, '.', ' '); } ну тут получаем значение с инпута и просто прибавляем ему 500000 |
Suharik,
<input type="text" id="area" value="0" /> <input type="button" value="Insert!" id="but" /> <script type="text/javascript"> var node = document.getElementById('but'), txt = document.getElementById('area'); node.onmousedown = function () { x = setInterval(function () { txt.value++; }, 500); document.onmouseup = node.onmouseup = function () { clearInterval(window.x); } } </script> Демо |
спасибо то что нужно. только я буду не через инпут button делать а через обычную картинку
|
да кстати еще бы добавить событие чтобы при клике тоже прибавлялась циферка, а не только при удержании
|
<input type="text" id="area" value="0" /> <input type="button" value="Insert!" id="but" /> <script type="text/javascript"> var node = document.getElementById('but'), txt = document.getElementById('area'); node.onclick = function () { txt.value++; } node.onmousedown = function () { x = setInterval(function () { txt.value++; }, 500); document.onmouseup = node.onmouseup = function () { clearInterval(window.x); } } </script> |
Часовой пояс GMT +3, время: 03:16. |