Created
February 11, 2017 23:11
-
-
Save xto3na/12c6c4c12c1e6d642eebf8e32d3c7768 to your computer and use it in GitHub Desktop.
Слежение за курсором на jquery
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="move-wrap"> | |
<div id="follower"></div> | |
</div> | |
<style> | |
#follower{ | |
position : relative; | |
background-color : #000; | |
width:10px; | |
height:10px; /* Размеры движущегося объекта */ | |
border-radius:50px; | |
} | |
.move-wrap { | |
width:150px; | |
height:150px; /* Размеры области, в которой будет двигаться объект */ | |
position: relative; | |
overflow:hidden; | |
border:1px solid #000000; | |
} | |
</style> | |
<script> | |
$(function(){ | |
var mouseX = 0, mouseY = 0, limitX = 150-10, limitY = 150-10; // Определяет границы, по которым будет двигаться объект | |
$(window).mousemove(function(e){ | |
var offset = $('.move-wrap').offset(); | |
mouseX = Math.min(e.pageX - offset.left, limitX); | |
mouseY = Math.min(e.pageY - offset.top, limitY); // Ищет координаты курсора | |
if (mouseX < 0) mouseX = 0; // С какого момента (координат) начинать движение за курсором | |
if (mouseY < 0) mouseY = 0; // Если курсор находится вне веб-страницы на момент загрузки, то установит объект в координатах x=0, y=0. | |
}); | |
var follower = $("#follower"); | |
var xp = 0, yp = 0; // Начальные координаты объекта на момент загрузки страницы | |
var loop = setInterval(function(){ | |
// Далее определяется скорость, с которой будет двигаться объект. | |
// Изменить значение 20, для изменения скорости. Чем больше это значение, тем медленнее движется объект. | |
xp += (mouseX - xp) / 20; | |
yp += (mouseY - yp) / 20; | |
follower.css({left:xp, top:yp}); // Изменение позиционирования объекта с помощью css | |
}, 10); //В данном случае это значение определяет, насколько плавно и быстро будет происходить движение | |
}); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment