Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.04.2010, 18:20
Новичок на форуме
Отправить личное сообщение для Webroller Посмотреть профиль Найти все сообщения от Webroller
 
Регистрация: 19.04.2010
Сообщений: 3

При нажатии и удержании мыши заменяется картинка
Здравствуйте!

Помогите пожалуйста с событием. Есть ли такое событие типа onClick, только при нажатии и удержании?

При нажатии и удержании на картинку-кнопку, будет подставлять другая картинка, а при отжатии возвращаться обратно оригинальное изображение.

Таким образом получается эффект нажатия на кнопку.

пример как в меню Apple
http://apple.com
попробуйте нажать и удержать на ссылке меню Mac например

Заранее благодарен!
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2010, 18:41
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

onmousedown -- клавиша нажата
onmouseup -- клавиша отпущена
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2010, 18:44
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Только на сайте Apple используют псевдо-класс :active в CSS, а не JavaScript.
Ответить с цитированием
  #4 (permalink)  
Старый 19.04.2010, 18:52
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Ага, точно. Так даже лучше, если нужна ссылка.
Ответить с цитированием
  #5 (permalink)  
Старый 19.04.2010, 19:16
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

На сайт Эппл не заходят из IE6, хехе.
Ответить с цитированием
  #6 (permalink)  
Старый 26.05.2010, 09:41
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

Здравсвуйте. Я тут сделал скриптик который при клике на ссылку прибавляет определенное число в инпуте, (вобщем простой скриптик)

Так вот, как сделать чтобы при 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
Ответить с цитированием
  #7 (permalink)  
Старый 26.05.2010, 11:23
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

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>


Демо

Последний раз редактировалось exec, 26.05.2010 в 11:29.
Ответить с цитированием
  #8 (permalink)  
Старый 26.05.2010, 12:32
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

спасибо то что нужно. только я буду не через инпут button делать а через обычную картинку
Ответить с цитированием
  #9 (permalink)  
Старый 26.05.2010, 12:34
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

да кстати еще бы добавить событие чтобы при клике тоже прибавлялась циферка, а не только при удержании
Ответить с цитированием
  #10 (permalink)  
Старый 26.05.2010, 15:00
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

<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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
смена картинок при нажатии sdff Общие вопросы Javascript 15 08.02.2014 15:08
Событие onClick при нажатии пункта меню Lex4e Общие вопросы Javascript 1 25.06.2010 17:31
Смена картинки (бекграунд дива ) при событии (нажатие клавиш или клавиши и мыши) Monster Events/DOM/Window 5 01.11.2009 00:16
Событие mouseout при наведении мыши на пункт меню WalterScott Events/DOM/Window 2 12.05.2009 21:05
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 12:43