с использованием комбинации setTimeout и clearTimeout.
Если пользователь не двигается в течение x секунд, это означает, что он остановился.
Здесь я написал вам пример:
<script type="text/javascript">
var lastMove = 0;
var lastTimeout = 0;
jQuery(document).ready(function () {
$(document).mousemove(function (e) {
$('#status').html(e.pageX + ', ' + e.pageY);
var currentMove = (new Date()).getTime();
if (lastTimeout != 0) {
clearTimeout(lastTimeout);
}
if (currentMove - lastMove > 1500)
{ alert('started'); }
lastMove = currentMove;
lastTimeout = setTimeout(function () {
var currentMove = (new Date()).getTime();
if (currentMove - lastMove > 1500)
{ alert('stopped'); }
}, 1510);
});
})
</script>
<h2 id="status">
0, 0
</h2>