视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
css实现快速回到顶部效果
2020-11-02 22:15:37 责编:小采
文档

背景:

现在的网站基本上都是长页面,多的有四五屏,少的话也有两三屏,页面太长有的时候为了提升用户体验,会在页面右边出现一个回到顶部的按钮,这样能快速回到顶部,以免在滑动页面出现视觉屏幕,回到顶部一般有四种方式。

1、通过锚链接回到顶部,需要将body加入一个名为top的标记

<a href="#top" target="_self">回到顶部</a>

2、通过JavaScript的scroll回到顶部,控制水平和垂直方向

<a href="javascript:scroll(0,0)">JavaScript回到顶部<s/a>

3、通过JavaScript控制,缓慢向上滑动,不过不够平滑

<a onclick="goScrollTop()">JavaScript缓慢向上滑动</a>
function goScrollTop() {
 //把内容滚动指定的像素数(第一个参数是向右滚动的像素数,第二个参数是向下滚动的像素数)
 //向上是负数,向下是正数
 window.scrollBy(0, -100);
 //延时递归调用,模拟滚动向上效果
 scrolldelay = setTimeout('goScrollTop()', 100);
 //获取scrollTop值,声明了DTD的标准网页取document.documentElement.scrollTop,否则取document.body.scrollTop;因为二者只有一个会生效,另一个就恒为0,所以取和值可以得到网页的真正的scrollTop值
 var sTop = document.documentElement.scrollTop + document.body.scrollTop;
 //判断当页面到达顶部,取消延时代码(否则页面滚动到顶部会无法再向下正常浏览页面)
 if (sTop == 0) clearTimeout(scrolldelay);
}

4、当滚动条滚动到一定位置的时候显示,滚动条向上回滚的时候隐藏向上的回到顶部按钮,这种方式是最常用的方式

<div class="goTop">
 <span>Go</span>
</div>

jQuery代码:

function goTop(min_height) {
 $(".goTop").click(
 function() {
 $('html,body').animate({
 scrollTop: 0
 }, 700);
 });
 //获取页面的最小高度,无传入值则默认为600像素
 min_height=min_height?min_height:400;
 //为窗口的scroll事件绑定处理函数
 $(window).scroll(function() {
 //获取窗口的滚动条的垂直位置
 var s = $(window).scrollTop();
 //当窗口的滚动条的垂直位置大于页面的最小高度时,让返回顶部元素渐现,否则渐隐
 if (s > min_height) {
 $(".goTop").fadeIn(100);
 } else {
 $(".goTop").fadeOut(200);
 }
 });
}
 
 
$(function() {
 goTop();
});

css代码:

.goTop {
 height: 40px;
 width: 40px;
 background: red;
 border-radius: 50px;
 position: fixed;
 top: 90%;
 right: 3%;
 display: none;
}
 
.goTop span {
 color: #fff;
 position: absolute;
 top: 12px;
 left: 8px;
}

推荐教程:css快速入门

下载本文
显示全文
专题