dhduc
12/10/2016 - 8:51 AM

backToTop.md

html

<a href="javascript: void(0);" id="back-to-top" title="Back to Top"><i class="fa fa-chevron-up"></i></a>

css

@backToTopBg: #e86256;
// Back to Top
#back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
    width: 45px;
    height: 45px;
    text-align: center;
    line-height: 30px;
    background: @backToTopBg;
    color: #fff;
    cursor: pointer;
    border: 0;
    text-decoration: none;
    transition: opacity 0.2s ease-out;
    opacity: 1;
    &:hover {
        background: @backToTopBg;
    }
    &.show {
        opacity: 1;
    }
    i {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%,-50%);
        -moz-transform: translate(-50%,-50%);
        -o-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    }
}

javascript

var backToTopBtn = $('#back-to-top');
if (backToTopBtn.length) {
    var scrollTrigger = 100; // px
    var backToTop = function () {
        var scrollTop = $(window).scrollTop();
        if (scrollTop > scrollTrigger) {
            backToTopBtn.addClass('show');
        } else {
            backToTopBtn.removeClass('show');
        }
    };
    backToTop();
    $(window).on('scroll', function () {
        backToTop();
    });
    backToTopBtn.on('click', function (e) {
        e.preventDefault();
        $('html,body').animate({
            scrollTop: 0
        }, 700);
    });
}