Пытаюсь сделать скрол - стрелочка которая перематывает на верх и затем меяется на стрелку вниз которая перематывает на старое положение.
Вот код 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);
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть таблица, строки которой динамически формируются из массиваБольшинство колонок - это характеристики "да/нет"
Необходимо оправить JSON объект на сторонний сервер и получить от него ответАутентификация пользователя на сервере организована с помощью...