Подскажите пожалуйста как на чистом javascript реализовать появление фона с определенной стороны при навелении мыши https://www.cartoonnetwork.ru/show/adventure-time/games
$(function () {
$('div').mouseenter(function (e) {
var jEl = $(this),
w = jEl.outerWidth(),
h = jEl.outerHeight(),
off = jEl.offset(),
x = e.pageX - off.left,
y = e.pageY - off.top,
xShift, // сдвиг от правой или левой границы
yShift, // сдвиг от верхней или нижней границы
xText,
yText,
itogText;
if (x / w > .5) {
xShift = w - x;
xText = 'справа';
} else {
xShift = x;
xText = 'слева';
}
if (y / h > .5) {
yShift = h - y;
yText = 'снизу';
} else {
yShift = y;
yText = 'сверху';
}
itogText = (xShift < yShift) ? xText : yText;
jEl.text(itogText);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="width: 100px; height: 100px; padding: 20px; margin: 20px; background: red;"></div>
Вот пример с JQ как можно реализовать определение откуда мышь заходит в блок. Остаётся немного доработать под ваши нужны
Вот пример на чистом javascript:
var box = document.getElementById('box');
box.addEventListener("mouseover", function(e) {
// Определяем центр
var centerX = box.offsetLeft + box.offsetWidth / 2;
var centerY = box.offsetTop + box.offsetHeight / 2;
// Определяем позиции
var textX = (e.clientX < centerX) ? 'Слева' : 'Справа';
var textY = (e.clientY < centerY) ? 'Сверху' : 'Снизу';
// Определяем сдвиг
var shiftX = (e.clientX > centerX) ? e.clientX - centerX : (e.clientX - centerX) * -1;
var shiftY = (e.clientY > centerY) ? e.clientY - centerY : (e.clientY - centerY) * -1;
// Обновляем текст у блока в зависимости от сдвига
box.innerText = (shiftX > shiftY) ? textX : textY;
});
#box {
width: 200px;
height: 200px;
margin: 10px;
background: green;
color: #fff;
font-size: 22px;
line-height: 200px;
text-align: center;
}
<div id="box"></div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В таблице у каждой стройки есть уникальный текст(id), можно отсортировать строки по разным значениям, как получить расположение строки относительно...
Gif весит много, хотелось бы преобразовать во что-то, что не будет слишком конфликтно с разными бразуерами, да и в принцепе хотелось бы узнать,...
Есть блок в котором есть текст, если слова перенеслись на новую строку, блок стал меньше, нужно чтоб снизу был бордер по ширине текста