Задать вопрос

Как сделать кнопку наверх без прокрутки?

Вопрос довольно прост: Как сделать кнопку наверх без плавной прокрутки ? То есть, чтобы страница при нажатии просто перемещалась наверх.
Я понимаю что можно сделать так:
<a href="#top" title="Вернуться к началу" class="top">Наверх</a></div>
Но тогда поле нажатия в конец url страницы добавиться #top. как сделаь, что бы url оставался прежним ?
  • Вопрос задан
  • 9505 просмотров
Подписаться 5 Оценить 1 комментарий
Решения вопроса 2
kompi
@kompi
nullstack devoops
"Господи, нагородили":
window.scroll(0,0);
Для ленивых:
<span onclick="window.scroll(0,0);">^^^^</span>
Ответ написан
nowm
@nowm
По-моему вот такая конструкция будет нормально везде работать:

<a onclick="$(document).scrollTop(0);">Наверх</a>

На тач-устройстве, во всяком случае нормально работает — не только на компьютере с мышью. Никакой анимации. Реализовано с помощью jQuery, так как у вас в тегах это упоминается.

Или, если нужна именно кнопка:

<button type="button" onclick="$(document).scrollTop(0);">Наверх</button>


И вообще можно практически любой элемент так использовать.

При использовании тега < A > с атрибутом href, нужно добавить в onclick инструкцию return false, чтобы переход по ссылке не происходил:

<a href="#" onclick="$(document).scrollTop(0);return false;">Наверх</a>


Если href не используется, то return false не обязательно указывать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
kudlayko
@kudlayko
html
<a style='position: fixed; bottom: 25px; right: 1px; cursor:pointer; display:none;' href='#' id='Go_Top'>
 Вверх
</a>

jQuery
$(function() {
 $.fn.scrollToTop = function() {
  $(this).hide().removeAttr("href");
  if ($(window).scrollTop() >= "250") $(this).fadeIn("slow")
  var scrollDiv = $(this);
  $(window).scroll(function() {
   if ($(window).scrollTop() <= "250") $(scrollDiv).fadeOut("slow")
   else $(scrollDiv).fadeIn("slow")
  });
  $(this).click(function() {
   $("html, body").animate({scrollTop: 0}, "slow")
  })
 }
});

$(function() {
 $("#Go_Top").scrollToTop();
});
Ответ написан
@iamDimka
<span title="Вернуться к началу" class="top" onclick="(document.documentElement.scrollTop ? document.documentElement : document.body).scrollTop = 0;">Наверх</span>


но, еще лучше вынести в js файл
Ответ написан
Комментировать
api.jquery.com/animate
или в чем-то подвох?
Ответ написан
Комментировать
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
Господи, нагородили
<a class="top" href="#">Наверх</a>

$('.top').click(function(e){
 e.preventDefault();
});

Ссылка на # всегда возвращает наверх страницы, и не нужно якорей, а скрипт просто отменяет переход по ссылке, чтобы все как Вы просили. Можно и по вашему, отправлять на #top, а скрипт отменит переход по url'у.
Ответ написан
Anonym
@Anonym
Программирую немного )
На тостере используется плагин $.scrollTo без анимации
Ответ написан
Комментировать
kapnod
@kapnod Автор вопроса
Спасибо всем за разнообразие вариантов =) Какой все же предпочтительней бедт выбрать с точки зрения кроссплатформенности ?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы