#javascript #html #css
#javascript #HTML #css
Вопрос:
У меня есть изображение, привязанное к высоте браузера, которое я хочу, чтобы пользователь прокручивал.
Есть ли способ сделать так, чтобы уведомление или div появлялись через 2 секунды, если прокрутка не произошла? По сути, я просто после появления элемента с надписью «Прокрутите влево ->». У меня возникли проблемы даже с описанием того, что мне нужно, и я еще не пытался это сделать. Если бы кто-нибудь мог просто указать мне правильное направление, это было бы здорово 🙂
HTML:
<!DOCTYPE html>
<html>
<head>
<body>
<div class='container'>
<img src='https://images.unsplash.com/photo-1514117445516-2ecfc9c4ec90?ixlib=rb-0.3.5amp;amp;q=85amp;amp;fm=jpgamp;amp;crop=entropyamp;amp;cs=srgbamp;amp;ixid=eyJhcHBfaWQiOjE0NTg5fQamp;amp;s=0e0b58fcf67fa6e8a010322d617e39af' alt='Mountain massif, sunbathed, partly covered in show.'/>
</div>
</body>
</html>
CSS:
* { margin: 0 }
body { overflow: hidden; /* Hide scrollbars */ }
.container {
--n: 1;
display: flex;
align-items: center;
overflow-y: hidden;
width: 100%; // fallback
width: calc(var(--n)*100%);
height: 100vh;
transform: translate(calc(var(--i, 0)/var(--n)*-100%));
transition: transform .5s ease-out;
img {
width: 100%; // fallback
height: 100%;
object-fit: contain;
/* width: calc(100%/var(--n)); */
/* user-select: none; */
/* pointer-events: none */
}
}
JS:
const _C = document.querySelector('.container'), N = _C.children.length;
let i = 0, x0 = null;
function unify(e) { return e.changedTouches ? e.changedTouches[0] : e };
function lock(e) { x0 = unify(e).clientX };
function move(e) {
if(x0 || x0 === 0) {
let dx = unify(e).clientX - x0, s = Math.sign(dx);
if((i > 0 || s < 0) amp;amp; (i < N - 1 || s > 0))
_C.style.setProperty('--i', i -= s);
x0 = null
}
};
_C.style.setProperty('--n', N);
_C.addEventListener('mousedown', lock, false);
_C.addEventListener('touchstart', lock, false);
_C.addEventListener('touchmove', e => { e.preventDefault() }, false);
_C.addEventListener('mouseup', move, false);
_C.addEventListener('touchend', move, false);
Комментарии:
1. Я не следил за вашим кодом, но эта скрипка JS прослушивает события прокрутки и соответствующим образом отображает предупреждение.