Пытаюсь сделать скрол - стрелочка которая перематывает на верх и затем меяется на стрелку вниз которая перематывает на старое положение.
Вот код JS:
window.onscroll = function() {
var scrolled = document.documentElement.scrollTop;
if (scrolled >= document.documentElement.clientHeight){
up.classList.remove("dnone");
down.classList.add("dnone");
}
}
function windowScroll(){
var event = window.event.target;
if (event.id == 'up'){
up.classList.add("dnone");
down.classList.remove("dnone");
var oldScroled = document.documentElement.scrollTop;
alert (oldScroled); // число
window.scrollTo(0,0);
} else if (event.id == 'down'){
alert (oldScroled); // underfined
window.scrollTo(oldScroled);
}
}
Не работает скрол вниз. Попробывала просто вывети положение - при нажатие на кнопку вверх оно выводит число, а при нажатии кнопки вниз - underfined
, как будто бы не видит переменную.
Как правильно сказал @hindmost, это происходит из-за того, что вы объявляете oldScroled
в одной области видимости f (event.id == 'up'){...}
, а потом пытаетесь к нему обратиться в другой else if (event.id == 'down'){...}
.
Следовательно, вам нужно объявить oldScroled
где-нибудь выше и вне функции windowScroll
. Например так:
var oldScroled;
window.onscroll = function() {
var scrolled = document.documentElement.scrollTop;
if (scrolled >= document.documentElement.clientHeight) {
up.classList.remove("dnone");
down.classList.add("dnone");
}
}
function windowScroll() {
var event = window.event.target;
if (event.id == 'up') {
up.classList.add("dnone");
down.classList.remove("dnone");
oldScroled = document.documentElement.scrollTop;
window.scrollTo(0, 0);
} else if (event.id == 'down') {
window.scrollTo(oldScroled);
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть таблица, строки которой динамически формируются из массиваБольшинство колонок - это характеристики "да/нет"
Необходимо оправить JSON объект на сторонний сервер и получить от него ответАутентификация пользователя на сервере организована с помощью...