全栈开发者

css+js实现回到顶部按钮

2015-10-11  本文已影响941人  oliverhuang

浏览网页时,当滚动条滚动的时候,会出现回到顶部的按钮,有的按钮是通过图片实现的,但是其实也可以通过纯css+javascript的方式来实现它。

制作回到顶部按钮

<div id="article"></div>
<div id="gotop">
<div class="arrow"></div>
<div class="stick"></div>

利用了div的border的特性绘制了三角形箭头

.arrow{
            border: 9px solid transparent;
            border-bottom-color: #3DA0DB;
            width: 0px;
            height: 0px;
            top:0px
        }

其他的就看看注释吧,很简单

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>doc</title>
<style>
    .arrow{
        border: 9px solid transparent;
        border-bottom-color: #3DA0DB;
        width: 0px;
        height: 0px;
        top:0px
    }
    .stick{
        width: 8px;
        height: 14px;
        border-radius: 1px;
        background-color: #3DA0DB;
        top:15px;
    }
    #gotop div{
        position: absolute;
        margin: auto;
        right: 0px;
        left: 0px;
    }
    #gotop{
        background-color: #dddddd;
        height: 38px;
        width: 38px;
        border-radius: 3px;
        display: block;
        cursor: pointer;
        position: fixed;
        right: 50px;
        bottom: 100px;
        display: none;
    }
</style>
</head>
<body>




<div id="article"></div>
<div id="gotop">
<div class="arrow"></div>
<div class="stick"></div>
</div>
<script src="http://cdn.staticfile.org/jquery/1.11.1-rc2/jquery.min.js"></script>
<script>
$(function(){
    for(var i =0 ;i <100;i++){
        $("#article").append("<p>xxxxxxxxxx<br></p>")
    }

})
</script>
<script>
$(function(){

    $(window).scroll(function(){  //只要窗口滚动,就触发下面代码

        var scrollt = document.documentElement.scrollTop + document.body.scrollTop; //获取滚动后的高度

        if( scrollt >200 ){  //判断滚动后高度超过200px,就显示

            $("#gotop").fadeIn(400); //淡入

        }else{

            $("#gotop").stop().fadeOut(400); //如果返回或者没有超过,就淡出.必须加上stop()停止之前动画,否则会出现闪动

        }

    });

    $("#gotop").click(function(){ //当点击标签的时候,使用animate在200毫秒的时间内,滚到顶部

        $("html,body").animate({scrollTop:"0px"},200);

    }); 

});
</script>
</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读