次浏览网站右下角都会返回页面顶部的按钮,每次都会点击一下,其实这是为了更好的用户体验而设置的,今天小猿圈web前端讲师教你用jQuery做个返回顶部按钮。
我们先来分析一下具体流程
当页面没有滚动的时候,这个按钮是隐藏状态,当向下滚动1000px时这个按钮会以淡入的效果出现,这时候点击按钮会返回顶部,并且按钮会隐藏。
首先我们来简单布局一下页面,这里就不用多讲解了,直接放一个我的HTML和CSS源码。
<body>
<div style="width:700px; margin: 0 auto;">
<img src="6.png" alt="">
<img src="2.jpg" alt="">
<img src="3.jpg" alt="">
<img src="4.jpg" alt="">
<img src="5.jpg" alt="">
</div>
<div id="actGotop" class="actGotop">
<a href="javascript:0"></a>
</div>
</body>
<style>
a {
color: #FFF;
}
.actGotop {
position: fixed;
bottom: 50px;
right: 100px;
width: 150px;
height: 195px;
display: none;
z-index: 100;
}
.actGotop a, .actGotop a:link {
width: 200px;
height: 195px;
display: inline-block;
background: url(btop.png) no-repeat;
outline: none;
}
.actGotop a:hover {
width: 200px;
height: 195px;
background: url(btop1.png) no-repeat;
outline: none;
}
</style>
接下来我们来看一下如何用jQuery实现最终效果。
script src="jquery-1.12.4.js"></script>
<script>
$(function(){
$(window).scroll(function(){
if ($(window).scrollTop()>=1000) {
$(".actGotop").stop().fadeIn(300);
} else {
$(".actGotop").stop().fadeOut(300);
}
})
$(".actGotop").click(function(){
$("body,html").stop().animate({scrollTop:0},400);
})
})
</script>
实现过程分析:
首先判断滚动距离,超过1000时返回顶部图标会以fadeIn的动画显示出来,小于1000则隐藏。
点击返回顶部图标后注意,不能写成$(window).animate()要写$("body,html")才可以。想让动画效果慢一些可以把animate里后面的400参数修改大一些。
另外一定记得给fadeIn、fadeOut和animate前面加stop()方法,否则会在连续快速触发动画的时候出现bug。
以上就是小猿圈web前端讲师给大家分享的教你用jQuery做个返回顶部按钮,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录小猿圈官网了解。
window.history.pushState(null, null, window.location.href);
window.addEventListener("popstate", function () {
window.history.pushState(null, null, window.location.href);
});
品同学总是会提出各种稀奇古怪的需求,比如qj用户的返回操作。。。
上面的代码经常被用来禁止网页页面的返回,经过个人的测试(Chrome/92.0.4497.0),必须在用户有了交互之后才能生效,否则不生效;
浮框是什么?大家不一定清楚,但是说网站上怎么都关不完的小广告,估计人人都被它恶心过,不管你怎么滚动网页,这些小广告始终会出现在你的屏幕上。今天我们就来聊聊这些小广告背后的原理——悬浮框。
悬浮框是Web前端开发中的一种常见的网页特效,它悬浮于网页内容之上,不受滚动条的影响,可以一直处于浏览器的可视区域内。
通过悬浮框,我们可以为用户展示一些特定的信息(如提示信息、广告信息),也可以在悬浮框中提供一些常用的按钮(如“返回顶部”按钮、“分享”按钮)方便用户操作。
下面为大家展示一些网页中常见的悬浮框效果。
(1)当用户使用百度进行搜索时,在搜索结果页面的顶部会出现悬浮框。该悬浮框会一直悬浮在网页顶部,不受用户滚动页面的影响,如下图所示。
(2)用户在腾讯网浏览新闻时,右下角会出现两个小按钮,分别是“用户反馈”和“^”(返回顶部),这两个小按钮就是通过悬浮框来实现的,如下图所示。
对于Web前端开发不熟悉的朋友们来说,也许会觉得悬浮框做起来很不容易,需要用大量的JavaScript代码才能实现。
实际上,悬浮框做起来很简单,它主要是通过CSS代码来实现的。在学习CSS的时候,大家是不是都学过定位(position)呢?还有印象吗?
我们来回顾一下。在CSS中,position属性可以设置元素的定位方式。position属性有4个常用的可选值,分别表示的含义如下。
在回顾了position属性的4个可选值以后,请大家思考一下,实现悬浮框,应该使用哪一种定义方式呢?
答案是:fixed固定定位。
当对元素设置固定定位后,该元素将脱离标准文档流的控制,始终依据浏览器窗口来定义自己的显示位置。不管浏览器滚动条如何滚动,也不管浏览器窗口的大小如何变化,该元素都会始终显示在浏览器窗口的固定位置。
下面我们通过一个具体案例来实现悬浮框效果,案例的效果图如下所示。
在上图中,页面右下角的“返回顶部”就是一个悬浮框,当用户单击该悬浮框后就会返回顶部。
下面讲解本案例的具体实现步骤。
(1)创建一个HTML文件,在文件中编写简单的网页结构和内容,具体代码如下。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
/* 此处用于编写悬浮框的样式 */
</style>
</head>
<body>
<!-- 此处用于编写网页结构 -->
</body>
</html>
(2)在第11行代码的位置,新增如下代码,为网页填充内容,并完成悬浮框的页面结构。
<div>
<p>网页内容</p>
<p>网页内容</p>
<p>网页内容</p>
<p>网页内容</p>
<p>网页内容</p>
<p>网页内容</p>
……(大家可以把上面的p标签多复制几行,以填充网页内容)
</div>
<!-- 悬浮框结构 -->
<div class="go-top">
<a href="#">返回<br>顶部</a>
</div>
上述代码中,第2~7行代码用于简单填充网页内容,使网页出现滚动条;第10~13行代码用于实现悬浮框结构。
(3)在<style>标签内编写页面样式,通过fixed固定定位使悬浮框停留在页面右下角的位置,并美化悬浮框的样式,将其调整为圆角矩形,背景为浅灰色。
.go-top {
position: fixed; /* 设置fixed固定定位 */
bottom: 20px; /* 距离浏览器窗口下边框20px */
right: 20px; /* 距离浏览器窗口右边框20px */
}
.go-top a {
display: block; /* 将<a>标签设为块元素,用于美化样式 */
text-decoration: none; /* 取消超链接下画线 */
color: #333; /* 设置文本颜色 */
background-color: #f2f2f2; /* 设置背景颜色 */
border: 1px solid #ccc; /* 设置边框样式 */
padding: 10px 20px; /* 设置内边距 */
border-radius: 5px; /* 设置圆角矩形 */
letter-spacing: 2px; /* 设置文字间距 */
}
案例最终的实现效果如下:
*请认真填写需求信息,我们会在24小时内与您取得联系。