
Сам я лютый самоучка, занимаюсь всем этим примерно пол месяца +-



Код: Выделить всё
pointerType: чем именно коснулись (mouse, touch, pen).
pressure: сила нажатия (для стилусов).
tiltX / tiltY: угол наклона пера.
")
Код: Выделить всё
document.addEventListener("DOMContentLoaded", function() {
const skullWrapper = document.getElementById('RollOverLayer1');
skullWrapper.addEventListener('click', function(e) {
// Проверяем, поддерживает ли устройство настоящий ховер (мышь)
const hasHover = window.matchMedia('(hover: hover)').matches;
// Если это ПК (есть ховер), игнорируем клик
if (hasHover) return;
// Если это телефон (нет ховера), переключаем класс active
this.classList.toggle('active');
});
// Дополнительный обработчик: закрывать меню при клике "мимо" черепа (для телефонов)
document.addEventListener('click', function(e) {
const isClickInside = skullWrapper.contains(e.target);
// Если клик не по черепу и меню открыто, убираем класс active
if (!isClickInside) {
skullWrapper.classList.remove('active');
}
});
});Код: Выделить всё
<div id="RollOverLayer1"
x-data="{ active: false, isMobile: !window.matchMedia('(hover: hover)').matches }"
@click="if (isMobile) active = !active"
@click.outside="active = false"
:class="{ 'active': active }"
> <!-- или :class="active && 'active'" -->
</div>


Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость