Автор Тема: Плавное прокручивание на начало.  (Прочитано 6825 раз)

ho_lod

  • Гость
Плавное прокручивание на начало.
« : Июня 28, 2011, 10:34:19 am »
Многим думаю будет интересно плавное прокручивание на начало страницы.
Опустились в конец (ну или почти в конец страницы) и у Вас появляется эффектная кнопочка:

http://savepic.ru/2447829.png
http://savepic.ru/2442377.png
http://savepic.ru/2434185.png
http://savepic.ru/2495786.png

Пример работы можно увидеть на сайте автора: http://www.dynamicdrive.com/dynamicindex3/scrolltop.htm
Если прокрутить страницу в самый низ - увидите кнопку (внизу, справа) - КНОПКУ СТАВИМ САМИ НА СВОЙ ВКУС  :)
Только насчёт установки я не знаю, как точно...

Возможно:

1). Качаем скрипт scrolltopcontrol.js (внизу или с сайта автора) и копируем в папку с javascript

2). Рисуем кнопку.... (или берём что предложил выше) и копируем её в папку css/ВАША_ТЕМА/image

3). Далее нужно куда то положить этот код:

Код:

<script type="text/javascript" src="__ПУТЬ К scrolltopcontrol.js__"></script>

<script type="text/javascript">
var pageTracker = _gat._getTracker("");
pageTracker._initData();
pageTracker._trackPageview();
</script>


Вопрос знатокам: Что делать после пункта 2 ???

Скрипт:
http://zalil.ru/upload/31345360
(файл лежит 10 дней)
« Последнее редактирование: Июля 14, 2011, 10:51:55 pm от mask »

Оффлайн mask

  • Пользователь
  • **
  • Сообщений: 81
  • --- любые модули под заказ ---
    • Просмотр профиля
Re: Плавное прокручивание на начало.
« Ответ #1 : Июля 06, 2011, 10:16:29 am »
Дизайн и CSS, CSS3

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

<p id="go-top">
        <a href="#top"><span></span>Вверх</a>
</p>


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

#go-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;
}
#go-top a:hover {
    color: #000;
}

/* изображение со стрелкой (тег span) */
#go-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;
}
#go-top a:hover span {
    background-color: #777;
}



Код jQuery

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

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


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

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

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

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

});
{/literal}
</script>



А что, если JavaScipt отключен?

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

Исходники и демо (если зарегистрирован):
« Последнее редактирование: Июля 14, 2011, 10:50:28 pm от mask »
=====================
Хостинг: http://www.ukraine.com.ua/?page=13754
Тётя А$я: 6восем4-3пять1-6сем4 (без ссылок) =)
Skype: seoromin

valetxxx

  • Гость
Re: Плавное прокручивание на начало.
« Ответ #2 : Мая 26, 2012, 12:11:35 am »
в какой файл вставлять? в index ?