Появляющаяся кнопка “ВВЕРХ” внизу экрана

393
24 августа 2017, 22:53

Было бы полезным реализовать функцию появляющейся кнопки "ВВЕРХ" для плавной прокрутки страницы наверх (к началу).

Я пробовал это реализовать через ЯКОРИ и обычные кнопки, но суть в том, что эти кнопки всегда видны на странице, а хотелось бы, чтобы данная кнопка "ВВЕРХ" появлялась лишь при скроле страницы в САМЫЙ вниз.

Answer 1

var totop = document.getElementById('totop'); 
 
totop.addEventListener("click", function() { 
  document.body.scrollTop = document.documentElement.scrollTop = 0; 
}, false); 
 
window.onscroll = function() { 
  var scrolled = window.pageYOffset || document.documentElement.scrollTop; 
  if (scrolled > 1000) { 
    totop.classList.add('visible'); 
  } else { 
    totop.classList.remove('visible'); 
  } 
}
body { 
  min-height: 3000px; 
  background: linear-gradient(to top, rgba(240,249,52,1) 30%,rgba(161,219,255,1) 70%); 
} 
 
#totop { 
  opacity: 0; 
  pointer-events: none; 
  position: fixed; 
  bottom: 10%; 
  left: 10%; 
  transition: opacity .2s; 
  cursor: pointer; 
} 
 
#totop.visible { 
  opacity: 1; 
  pointer-events: all; 
}
<button id="totop">Наверх</button>

Answer 2

Вариант, на jQuery:

var showBtn = 500; 
$(window).scroll(function() { 
  var scrolled = $(window).scrollTop(); 
  if (scrolled > showBtn) { 
    $('button').addClass('visible'); 
  } else { 
    $('button').removeClass('visible'); 
  } 
});
body { 
  min-height: 2000px; 
} 
 
button { 
  position: fixed; 
  right: 50px; 
  bottom: 50px; 
  transition: all 0.4s; 
  opacity: 0; 
  visibility: hidden; 
} 
 
button.visible { 
  opacity: 1; 
  visibility: visible; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<button>Вверх</button>

READ ALSO
Jquery onload function nprogress.js

Jquery onload function nprogress.js

Использую библиотеку nprogressjs как задать функцию NProgress

268
Поиск подстроки

Поиск подстроки

Есть список внутри которого есть ссылки, необходимо по клику по блоку #block получить его значение и сравнить его со значениями которые есть...

319
Вывести JSON в виде объекта, а не строки

Вывести JSON в виде объекта, а не строки

ПриветПолучаю от сервера json, а дальше делаю console

327
Открыть сокет по ссылке+токен python

Открыть сокет по ссылке+токен python

Есть пример кода на js, как открыть сокет и пример работы с нимНо на питоне не выходит создать его

269