Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.12.2010, 12:55
Интересующийся
Отправить личное сообщение для Беляш Посмотреть профиль Найти все сообщения от Беляш
 
Регистрация: 14.03.2010
Сообщений: 16

Скорость курсора
Привет Всем. Столкнулся с такой задачкой: необходимо определить скорость перемещения курсора. Гуглил не нашел, потом пробовал реализовать через .mousemove(), тоже не получилось. Мозг кипит не могу придумать как реализовать. Уже пробую внутри события .mouseover вызывать функцию с событием .mousemove(). Что есть:
<script type="text/javascript">
	var beforeX;
	var speed;
	$('html').mouseenter(function go(e){
			beforeX = e.pageX;
			speed = 0;
			$("#start").text('' + beforeX);
			move(e);
	});
	function move(e){
		$(document).mousemove(function(e){			
			$("#stop").text(e.pageX);
			speed = e.pageX-beforeX;
			$("#speed").text(speed);
			if(speed > 50){
				$("#speed").css({'color':'red'});
			}
			else{
				$("#speed").css({'color':'black'});
			}
		})
	};
</script>


Пока только по X смотрю, но не ужели нет более элегантного способа?
Ответить с цитированием
  #2 (permalink)  
Старый 01.12.2010, 13:02
Интересующийся
Отправить личное сообщение для Yurok_shnurok Посмотреть профиль Найти все сообщения от Yurok_shnurok
 
Регистрация: 28.11.2010
Сообщений: 16

Беляш, я в javascript не силен. Но может есть в jquery какой-нибудь таймер, который будет с определенным периодом выполнять функцию. И уже в этой функции выполнять расчет скорости курсора. Запомнить позицию курсора, и в функции найти разность между новыми координатами и старыми.
Ответить с цитированием
  #3 (permalink)  
Старый 01.12.2010, 13:10
Интересующийся
Отправить личное сообщение для Беляш Посмотреть профиль Найти все сообщения от Беляш
 
Регистрация: 14.03.2010
Сообщений: 16

Yurok_shnurok, Когда мозг еще был свежь когда я только подумал об этом тоже решил что сделаю так, но почему-то вызов .delay(1000) - задержка на 1000 милисекунд не срабатывала.
Ответить с цитированием
  #4 (permalink)  
Старый 01.12.2010, 14:08
Интересующийся
Отправить личное сообщение для Yurok_shnurok Посмотреть профиль Найти все сообщения от Yurok_shnurok
 
Регистрация: 28.11.2010
Сообщений: 16

попробуй вот этот пример подстроить под свои нужды
Ответить с цитированием
  #5 (permalink)  
Старый 01.12.2010, 14:19
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

мимо крокодил:
когда один новичек начинает советовать другому, сам еще не зная ни капли языка, это просто смешно
Yurok_shnurok,
вам еще рано отвечать на вопросы других новичков

Беляш,
в вашем коде я пока вижу только измерение пройденного растояния, но не скорость.
для того чтобы получить скорость, надо поделить расстояние на время
а setTimeout вам тут незачем
Ответить с цитированием
  #6 (permalink)  
Старый 01.12.2010, 14:25
Интересующийся
Отправить личное сообщение для Yurok_shnurok Посмотреть профиль Найти все сообщения от Yurok_shnurok
 
Регистрация: 28.11.2010
Сообщений: 16

Что-то никто из знаюших не стал помогать, если уж у Вас Gvozd достаточно знаний, что подсказать как определять растояние пройденое мышью, так написали бы. А для того чтобы понять, что скорость это расстояние/время язык знать не нужно.
Ответить с цитированием
  #7 (permalink)  
Старый 01.12.2010, 14:31
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Yurok_shnurok
растояние пройденое мышью
сложите начальное значение координат с конечным

Последний раз редактировалось monolithed, 01.12.2010 в 15:16.
Ответить с цитированием
  #8 (permalink)  
Старый 01.12.2010, 14:32
Интересующийся
Отправить личное сообщение для Yurok_shnurok Посмотреть профиль Найти все сообщения от Yurok_shnurok
 
Регистрация: 28.11.2010
Сообщений: 16

а setTimeout я посоветовал потому, что допустим во флэш событие onmousemove реагирует на движение мыши, и как узнать скорость, если будет срабатывать функция на перемещение в определенное кол-во пикселей.
Ответить с цитированием
  #9 (permalink)  
Старый 01.12.2010, 14:54
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,233

Yurok_shnurok,
стоп
так вы именно расстояние не можете определить?
а ну марш в школу!
определить расстояние между двумя точками на плоскости по их координатам - это элементарная задача из школьной программы
и вам и вправду не стоит давать консультации.
как минимум до получения среднего образования.
Сообщение от Yurok_shnurok
а setTimeout я посоветовал потому, что допустим во флэш событие onmousemove реагирует на движение мыши, и как узнать скорость, если будет срабатывать функция на перемещение в определенное кол-во пикселей.
в JS mousemove Также реагирует на перемещение мыши
даже если бы нужно было указывать скорость в тот момент, когда мышь стоит, то одним seTimeout не обойтись, так как он не гарантирует точное время.
время придется отдельно измерять
Ответить с цитированием
  #10 (permalink)  
Старый 01.12.2010, 15:01
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Вот грубое и неотесанное решение для размышления:

<div></div>
<script type="text/javascript">
var i = 0;
document.onmousemove = function(){
    document.getElementsByTagName('div')[0].innerHTML = ++i/100;
};   

</script>

Последний раз редактировалось monolithed, 01.12.2010 в 15:19.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 03:35
Побег окошка(вызванного ф-й alert) от курсора Ankorbat Общие вопросы Javascript 16 20.06.2010 17:16
Скорость выполнения кода mycoding Общие вопросы Javascript 6 23.04.2010 12:28
Появление текста при наведении курсора на ссылку Александра Элементы интерфейса 1 10.05.2009 23:22
установка позиции курсора или выделения в iframe mister_maxim Events/DOM/Window 5 18.04.2009 09:43