Гость
Обновленые темы Популярные темы Активные пользователи
Аниме обои 17.08.2019 в 00:31 от Бармен Битая ссылка 11.08.2019 в 07:25 от Xemordio Игра Душ - Эксельсиор 09.08.2019 в 23:55 от Бармен Блудный сын 2 [SoC/ТЧ] 08.08.2019 в 10:58 от Xemordio Сталкер - Новое Время. Научный Подход 08.08.2019 в 10:44 от Xemordio Модуль xField Tab 06.08.2019 в 22:52 от Бармен Easy filter - простой фильтр для DLE 13.x 06.08.2019 в 22:47 от Бармен Conclusion attachments v5.0 для DLE 06.08.2019 в 22:43 от Бармен Avatar Gen v1.0.1 - Генерация аватарок для DLE 13.0-13.... 06.08.2019 в 22:40 от Бармен CatFace v2.3.2 - SEO оптимизация категорий для DLE 8.2-... 06.08.2019 в 22:38 от Бармен

  • Страница 1 из 1
  • 1
Форум » Web-Раздел » Скрипты для uCoz » Анимационная кнопка "вверх" rip Бармен
Анимационная кнопка "вверх" rip Бармен
Бармен Offline Дата: Вторник, 28.05.2019, 15:12 | Сообщение # 1
Администратор
Звание: Рядовой [?]
Сообщений: 123


Рипал: Бармен
Вставляем в Нижнюю часть сайта в самый низ:

Код
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="progress-wrap active-progress">
<svg class="progress-circle svg-content" width="100%" height="100%" viewBox="-1 -1 102 102">
<path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98" style="transition: stroke-dashoffset 10ms linear 0s; stroke-dasharray: 307.919, 307.919; stroke-dashoffset: 0;"></path>
</svg>
</div>

CSS:

Код
:root {
    --white: #ffffff;
    --grey-light: #f2f7f9;
    --grey: #ecedf3;
}
.progress-wrap {
    position: fixed;
    right: 50px;
    bottom: 50px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.2);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}
.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.progress-wrap::after {
    position: absolute;
    font-family: 'FontAwesome';
    content: '\f01b';
    text-align: center;
    line-height: 46px;
    font-size: 24px;
    color: var(--grey);
    left: 0;
    top: 0;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    z-index: 1;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}
.progress-wrap:hover::after {
    opacity: 0;
}
.progress-wrap::before {
    position: absolute;
    font-family: 'FontAwesome';
    content: '\f01b';
    text-align: center;
    line-height: 46px;
    font-size: 24px;
    opacity: 0;
    color: var(--grey);
    left: 0;
    top: 0;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    z-index: 2;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}
.progress-wrap:hover::before {
    opacity: 1;
}
.progress-wrap svg path {
    fill: none;
}
.progress-wrap svg.progress-circle path {
    stroke: var(--grey);
    stroke-width: 4;
    box-sizing: border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

JS (в нижнюю часть сайта):

Код
<script type="text/javascript">
$(document).ready(function() {
    var progressPath = document.querySelector('.progress-wrap path');
    var pathLength = progressPath.getTotalLength();
    progressPath.style.transition = progressPath.style.WebkitTransition = 'none';
    progressPath.style.strokeDasharray = pathLength + ' ' + pathLength;
    progressPath.style.strokeDashoffset = pathLength;
    progressPath.getBoundingClientRect();
    progressPath.style.transition = progressPath.style.WebkitTransition = 'stroke-dashoffset 10ms linear';
    var updateProgress = function() {
        var scroll = $(window).scrollTop();
        var height = $(document).height() - $(window).height();
        var progress = pathLength - scroll * pathLength / height;
        progressPath.style.strokeDashoffset = progress;
    };
    updateProgress();
    $(window).scroll(updateProgress);
    var offset = 50;
    var duration = 550;
    jQuery(window).on('scroll', function() {
        if (jQuery(this).scrollTop() > offset) {
            jQuery('.progress-wrap').addClass('active-progress');
        } else {
            jQuery('.progress-wrap').removeClass('active-progress');
        }
    });
    jQuery('.progress-wrap').on('click', function(event) {
        event.preventDefault();
        jQuery('html, body').animate({
            scrollTop: 0
        }, duration);
        return false;
    });
});
</script>
Дата регистрации: 28.07.2018
Xemordio Offline Дата: Вторник, 28.05.2019, 16:04 | Сообщение # 2
Администратор
Звание: Новобранец [?]
Сообщений: 3710
Очень красивая
Дата регистрации: 22.07.2017
Бармен Offline Дата: Вторник, 28.05.2019, 18:36 | Сообщение # 3
Администратор
Звание: Рядовой [?]
Сообщений: 123
Xemordio, Ага ;)
Дата регистрации: 28.07.2018
Форум » Web-Раздел » Скрипты для uCoz » Анимационная кнопка "вверх" rip Бармен
  • Страница 1 из 1
  • 1
Поиск: