Анимированный переход на верх страницы

По многочисленным просьбам я написал урок по созданию перехода на верх страницы, как на сайте Web Designer Wall. Это очень просто сделать с помощью jQuery (каких-то пару строчек кода). Необходимо сравнить значение позиции верхней полосы прокрутки с определенным значением, и если первое из них больше, отобразить кнопку перехода на верх. Как только пользователь кликает по кнопке, производится переход на верх страницы.

Дизайн и CSS

Задайте элементу #back-top свойство position:fixed, чтобы его позиция была зафиксирована на странице. Тег span не обязателен. Я добавил его для отображения изображения со стрелкой. Я также добавил transition:1s (1s = 1 second) для эффекта при наведении курсора.

#back-top {
    position: fixed;
    bottom: 30px;
    margin-left: -150px;
}

#back-top a {
    width: 108px;
    display: block;
    text-align: center;
    font: 11px/100% Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    color: #bbb;

    /* замедление */
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
}
#back-top a:hover {
    color: #000;
}

/* изображение со стрелкой (тег span) */
#back-top span {
    width: 108px;
    height: 108px;
    display: block;
    margin-bottom: 7px;
    background: #ddd url(up-arrow.png) no-repeat center center;

    /* закругленные углы */
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;

    /* замедление */
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
}
#back-top a:hover span {
    background-color: #777;
}

Код jQuery

Ниже представлен код JavaScript (вы можете вставить его куда угодно на странице). Он скрывает элемент #back-top (в моем примере это

). Затем проверяет значение позиции верхней полосы прокрутки (scrollTop), и если оно больше, чем 100, отображает элемент #back-top, в противном случае, прячет его. Следующая часть кода - это функция обработки события клика по кнопке. Если произведен клик по кнопке, значение scrollTop тега body установится в 0.

Если вы хотите ознакомиться с основами работы с jQuery, почитайте мою статью.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>

<script>
$(document).ready(function(){

    // hide #back-top first
    $("#back-top").hide();
    
    // fade in #back-top
    $(function () {
        $(window).scroll(function () {
            if ($(this).scrollTop() > 100) {
                $('#back-top').fadeIn();
            } else {
                $('#back-top').fadeOut();
            }
        });

        // scroll body to 0px on click
        $('#back-top a').click(function () {
            $('body,html').animate({
                scrollTop: 0
            }, 800);
            return false;
        });
    });

});
</script>

А что, если JavaScipt не поддерживается?

Заметьте, что кнопка перехода на верх ссылается на якорь #top, который является идентификатором тега body. В принципе, нет необходимости задавать какую-либо ссылку-якорь, так как jQuery позволяет прокручивать на любую часть страницы. Тем не менее лучше её все-таки задать на случай, если JavaScript не поддерживается в том или ином браузере.


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/24V4jxi-59k/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Анимированный переход на верх страницы | | 2012-06-19 12:06:46 | | Статьи Web-мастеру | | По многочисленным просьбам я написал урок по созданию перехода на верх страницы, как на сайте Web Designer Wall. Это очень просто сделать с помощью jQuery (каких-то пару строчек кода). Необходимо | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: