Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   счетчик для onmousemove (https://javascript.ru/forum/events/28636-schetchik-dlya-onmousemove.html)

dmitriymar 27.05.2012 20:46

Цитата:

Сообщение от neWjs
гений только вы не знаете как срабатывает onmousemove, и ваш код не будет работать по причине которой я описал выше..

расстрою -как работает я знаю.
а вот вы -не можете сформулировать,то что вы хотите

dmitriymar 27.05.2012 20:47

Цитата:

Сообщение от neWjs
ну я наверно немного не дописал
a++;
a= (a > 300)? 0 : a;

Цитата:

Сообщение от neWjs
определенного числа допустим 300 он должна сбрасываться на 0

ну и где здесь это? у вас сбросится на 301 на ноль
А в вашем случае нужно использовать время наверное-если правильно понял вашу задачу.
если промежуток между мувом и последующим меньше н времени -то это один мув

Раед 27.05.2012 20:50

Цитата:

Сообщение от neWjs
событие onmousemove сработает один раз как только мышь начнет двигать и вызовется второй после того как мышь остановиться и заново начнет двигаться

Ложь
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>

</head><body>
<script type="text/javascript">
var a=0;
document.onmousemove=function(){a++;if (a>=300) a=0;document.getElementById('shC').innerHTML = a;}; 
</script>
<div id="shC"></div>
</body></html>

neWjs 27.05.2012 20:55

Цитата:

Сообщение от dmitriymar (Сообщение 176957)
ну и где здесь это? у вас сбросится на 301 на ноль

скажу так в этой ситуации и я и вы ошиблись, потому что бывает что при подвисание браузера может перепрыгнуть через 300 (бывало такое).
и наверно самый правильный вариант :
(a >= 300)

dmitriymar 27.05.2012 20:56

Цитата:

Сообщение от neWjs
и наверно самый правильный вариант :
(a >= 300)

опять мимо :lol:
a==300 -правильный вариант

dmitriymar 27.05.2012 20:57

Цитата:

Сообщение от neWjs
кажу так в этой ситуации и я и вы ошиблись, потому что бывает что при подвисание браузера может перепрыгнуть через 300

Чушь. ошиблись только вы
Вы уж определитесь, вам координаты считать или количество мувов?
Цитата:

Сообщение от neWjs
допустим мышка сдвинулась на 300 px и тогда а = 300 как только будет

Цитата:

Сообщение от neWjs
вот в чем проблема :
счетчик прибавить на 1 , т.к событие onmousemove сработает один раз как только мышь начнет двигать и вызовется второй после того как мышь остановиться и заново начнет двигаться


neWjs 27.05.2012 20:58

Цитата:

Сообщение от Раед (Сообщение 176958)
Ложь
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>

</head><body>
<script type="text/javascript">
var a=0;
document.onmousemove=function(){a++;if (a>300) a=a-300;document.getElementById('shC').innerHTML = a;}; 
</script>
<div id="shC"></div>
</body></html>

wtf :blink: я писал почти аналогичный код и он вообще не работал:-?
точнее работал но срабатывал один раз

neWjs 27.05.2012 21:04

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


Часовой пояс GMT +3, время: 15:36.