#javascript
#javascript
Вопрос:
У меня есть пользовательский курсор, использующий некоторый CSS — изменяет размер при наведении. Каков наилучший способ привязать курсор обратно к центру мыши после увеличения размера?
Вот скрипка: https://jsfiddle.net/fojn8bq9 /
Вот JavaScript, который я использую для центрирования курсора изначально:
const w = myCircle.offsetWidth / 2;
const h = myCircle.offsetHeight / 2;
const myMouse = new (function() {
this.follow = function(event) {
myCircle.style.left = event.pageX - w 'px';
myCircle.style.top = event.pageY - h 'px';
};
})();
Каков наилучший способ поместить его в мою функцию наведения?
$(document).ready(function(){
$("button").hover(function(){
$(myCircle).css({"height":"50px", "width":"50px"});
}, function(){
$(myCircle).css({"height":"25px", "width":"25px"});
});
});
Ответ №1:
Вы можете просто переместить круг на половину разницы между старой и новой высотой / шириной:
$("button").hover(function(){
$(myCircle).css({"height":"50px", "width":"50px", transform: "translate(-12.5px, -12.5px)"});
}, function(){
$(myCircle).css({"height":"25px", "width":"25px", transform: ""});
});
});
Комментарии:
1. Неплохая идея, спасибо! Однако некоторые заикания при переходе с css. Интересует что-то более динамичное.