Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.01.2009, 18:55
Бондя
 
Сообщений: n/a

Перехват координат курсора мыши 1 раз в секунду
Подскажите, пожалуйста, как это сделать... при помощи onmousemove и setTimeout не выходит(
Ответить с цитированием
  #2 (permalink)  
Старый 16.01.2009, 18:56
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

никак.
Ответить с цитированием
  #3 (permalink)  
Старый 16.01.2009, 19:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

onmousemove на body.
Ответить с цитированием
  #4 (permalink)  
Старый 16.01.2009, 19:01
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Сообщение от Kolyaj Посмотреть сообщение
onmousemove на body.
И если мышкой не двигать, то никаких координат ты не получишь...
А если двигать резко и за пределы браузера, то тоже
Ответить с цитированием
  #5 (permalink)  
Старый 16.01.2009, 19:01
Бондя
 
Сообщений: n/a

Вот так всегда... задашь вопрос и прийдёт озарение...
Делаем три массива...
x координата
y координата
t координата времени аналогично функции time() в PHP
Далее из полученного массива меток времени выбираем уникальные элементы, с каждым из которых связаны по 1 координате в массиве x и y.
o_O

Хотя, конечно, хотелось бы решение проблемы "без извращений" получить...
Ответить с цитированием
  #6 (permalink)  
Старый 16.01.2009, 19:02
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Координаты можно узнать только по событию.

Функция для кросс-браузерного определения координат:
var mousePosition = function(ie) {
	return ie ? function(doc, body) {
		return function(e) {
			return {x: e.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0), y: e.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0)};
		};
	}(document.documentElement, document.body) : function(e) {
		return {x: e.pageX, y: e.pageY};
	}
}(/*@cc_on 1 @*/);


Добавьте обработчик события mousemove для всего документа и по таймеру отправляйте в функцию объект-событие, чтобы получить координаты курсора.

Последний раз редактировалось Octane, 16.01.2009 в 19:05.
Ответить с цитированием
  #7 (permalink)  
Старый 16.01.2009, 19:02
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от ZoNT
И если мышкой не двигать, то никаких координат ты не получишь...
А если двигать резко и за пределы браузера, то тоже
Я же их сохранять буду. А что за пределами браузера все равно.
Ответить с цитированием
  #8 (permalink)  
Старый 16.01.2009, 19:05
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Octane,
условная компиляция вещь хорошая, но опасная. Может возникнуть желание сжать скрипт YUICompressor'ом.
Ответить с цитированием
  #9 (permalink)  
Старый 16.01.2009, 19:11
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Packer без проблем справляется с условной компиляцией, кроме извращенных случаев, типа:
return /*@cc_on makeArray( @*/ (node || document).getElementsByTagName(tag || '*') /*@cc_on ) @*/;

А если YUICopressor не умеет сжимать конструкции JScript, зачем им пользоваться?
Ответить с цитированием
  #10 (permalink)  
Старый 16.01.2009, 20:05
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Octane, не распишите более подробно функцию mousePosition, если можно было более даже очень подробно.
Заранее спасибо!
Ответить с цитированием
Ответ



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

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