X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

Скрипт указатель на курсор в виде компаса. Движение за курсором.

Приклад
  • 2024-04-19
  • 5318 переглядів

  • Дизайн та розробка сайту

Доброго времени суток 🙂

Эта статья схожа по содержанию с предыдущей и в ней продолжается тема по анимации суть которой скрипт слежения за движением курсора. В прошлой статье я описал работу скрипта, который двигал объект в заданной области. В том случаи это были зрачки нарисованного кота. Складывалось ощущение, что кот следит за движением курсора. Подробнее об этом можете прочитать в статье - Скрипт движение за курсором. Слежение за курсором.

Скрипт указатель на курсор в виде компаса. Движение за курсором.

В этой же статье я покажу схожий скрипт, но работать он будет немного по другому принципу. Его суть заключается во вращения объекта вокруг центральной оси, при этом вращение осуществляется так же с помощью курсора. Немного поразмыслив, я решил, что это можно наложить на обычный компас. Нашел подходящую картинку, немного поработал в Photoshop и все получилось. Результат можно посмотреть в примере ниже, а так же скачать исходники.



Пример




Скачать


Ели вам понравилась данная идея, то дальше рассмотрим, как это интегрировать на свой ресурс.

Как обычно, сначала нужно добавить HTML код нашего компаса и будущей анимации.

<div id="compas">
<img src="arrow_c.png" class="arrow_c" >
</div>

как ведите, код проще простого. Имеем родительский блок с ID compas, внутрь него просто добавлено изображение arrow_c.png, с помощью тега img и присваиваем класс arrow_c. В нашем случаи картинка - это стрелка, которая будет вращаться и лежит она в той же папке что и файл где добавляется код. Если отправите ее в какую-нибудь папку, то укажите правильно путь. Например, если добавите в папку images, то путь будет прописан так:

<img src="images/arrow_c.png" class="arrow_c" >

Далее черед стилей. Добавьте их в свой файл стилей, который имеет расширение *.css. Их тоже не много:

#compas{
width: 300px;
height:300px;
background: url(comp.png);
}
.arrow_c{position:absolute;}
  • #compas - Родительский блок, задаем ему размеры опираясь на размеры нашей картинки самого компаса. В нашем случаи это 300 на 300 пикселей. Так же указан путь к этой самой фоновой картинке. У нас картинка лежит в той же папке где файл со стилями. Если вы ее поместите в какую-нибудь папку, то правильно укажите путь к ней.
  • .arrow_c - Класс изображения. Тут всего один параметр - абсолютное позиционирование.

Теперь осталось добавить сам скрипт анимации, который и будет вращать нашу стрелку компаса, но перед этим нужно подключить библиотеку jQuery. Если такая же версия подключена ранее, то пропустите этот шаг.

Скрипт был найден на просторах интернета и является старым. Работает с версией библиотеки не выше второй.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

Ну и сам скрипт, код которого добавляйте после библиотеки.

<script>
$(document).ready(function(){
$.fn.rotateImg = function(options) {
var defaults = {deg : 0};
var settings = $.extend( {}, defaults, options );
return this.each(function() {
var img = $(this);
var imgpos = img.position();
var x0, y0;
$(window).load(function() {
x0 = imgpos.left + img.width() / 2;
y0 = imgpos.top + img.height() / 2
});
var x, y, x1, y1, r;
 $("html").mousemove(function(e) {
x1 = e.pageX;
y1 = e.pageY;
x = x1 - x0;
y = y1 - y0;
r = 180 + settings.deg - 180 / Math.PI * Math.atan2(y, x);
img.css("transform", "rotate(-" + r + "deg)");
img.css("-moz-transform", "rotate(-" + r + "deg)");
img.css("-webkit-transform", "rotate(-" + r + "deg)");
img.css("-o-transform", "rotate(-" + r + "deg)")})})}
function rand(a) {
return 50 + Math.floor(Math.random() * (a-200))}
var w = $(window).width(), h = $(window).height();
$.each(Array(1),function(indx, element){
$('.arrow_c').appendTo('#compas')
});
$('.arrow_c').rotateImg({deg : 0});
});
</script>

Особых настроек тут нет, в самом конце указаны класс и айди изображения и основного блока. Если решите поменять их название, не забудьте это сделать и в скрипте.

Все, больше ничего делать не нужно. Если все сделано правильно - результат не заставит себя ждать. Воплощение идеи в виде компаса, это чисто мое видение. Вы можете адаптировать материал под себя, конкретную задачу и полностью изменить подачу. Надеюсь материал этой статьи будет полезным для вас.

На этом все, спасибо за внимание. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 5, в среднем: 4.2 из 5
Читайте також