用jquery实现小火箭到页面顶部的效果
恩,不知道之前在哪看过一个页面效果就是如果页面被滑动了就出现一个小火箭,点击这个小火箭就可以慢慢回到页面顶部,闲的没事,自己搞了一下
需要引入jquery
代码和布局都很简单
<!DOCTYPE HTML>
<html>
<head>
<style>
#content{
height: 2000px ;
width: 960px ;
margin: 0 auto ;
background-color: blue ;
}
#rocket{
width: 50px ;
height: 50px ;
position: fixed;
right: 10px ;
bottom: 10px ;
display: none;
}
#rocket img{
width: 100%;
height: 100%;
}
</style>
<script type="text/javascript" src="./js/jquery-1.11.3.min.js"></script>
</head>
<body>
<div id="layout">
<div id="content"></div>
<div id="rocket"><img src="./img/rocket.png"></div>
</div>
</body>
<script type="text/javascript">
$(function(){
initRocket() ;
):
//初始化火箭
function initRocket(){
if(document.body.scrollTop!=0){
$("#rocket").show();
$('#rocket').unbind().bind('click', up);
}
document.addEventListener("mousewheel",function(){
if(document.body.scrollTop!=0)
{
$("body").stop();
$('#rocket').unbind().bind('click',up);
$("#rocket").css('display', 'block');
}else{
$("#rocket").css('display', 'none');
}
},false) ;
function up(){
$("body").animate({scrollTop:"0"},500,function(){
$("#rocket").css('display', 'none');
$('#rocket').bind('click',up);
});
$('#rocket').unbind("click");
}
}
</script> </html>
主要思路是这样的,利用position:fixed将我们的小火箭固定在屏幕的右下角,先把display设置成none来隐藏小火箭,因为页面在顶部的时候我们不需要它~
#rocket{
width: 50px ;
height: 50px ;
position: fixed;
right: 10px ;
bottom: 10px ;
display: none;
}
好的,然后我们来监听鼠标的滚动事件(mousewheel),添加一个判断如果页面不在顶部就使小火箭现形,并为其添加click事件。这里注意要把body的动画stop掉,因为如果在火箭上升的时候用户滑动滚轮就表明用户想停在那里,还有就是rocket的事件要先unbind在bind,不然会导致多次添加事件。
document.addEventListener("mousewheel",function(){
if(document.body.scrollTop!=0)
{
$("body").stop();
$('#rocket').unbind().bind('click',up);
$("#rocket").css('display', 'block');
}else{
$("#rocket").css('display', 'none');
}
},false) ;
小火箭的点击事件是执行一个body的scrollTop属性的动画,因为body的crollTop就是我们的可视区域到页面顶部的距离。一开始执行我们就把它的click事件就unbind掉,不然点击又会执行,造成多次执行,还有就是在动画结束的回调函数中我们将小火箭再次隐藏并绑定点击事件。
function up(){
$("body").animate({scrollTop:"0"},2000,function(){
$("#rocket").css('display', 'none');
$('#rocket').bind('click',up);
});
$('#rocket').unbind("click");
}
大概就是这样,很简单吧~
用jquery实现小火箭到页面顶部的效果的更多相关文章
- JS实现回到页面顶部动画效果 2016.03.23
最近在模仿各大网站写页面样式和交互,发现好多都有回到顶部的需要,所以写了一下js,记录下来. 发现还可以添加从快到慢的动画效果和随时下拉滚动条停止滚动的功能, 参考了imooc上相关课程,最终实现JS ...
- jquery实现点击上移到顶部功能(转)
---恢复内容开始--- 本文转载自W3CPLUS, jQuery制作go to top按钮 每每看到网友Blog的页面底部或中间有一个按钮回到页面顶部,羡慕死人了,但自己就是做不出这样的效果.后来在 ...
- Android简易实战教程--第十话《模仿腾讯手机助手小火箭发射详解》
之前对系统自带的土司的源码做了简要分析,见博客:点击打开链接 这一篇给一个小案例,自定义土司,模拟腾讯卫士的小火箭发射.如果想要迅速看懂代码,建议先去看一下上篇介绍点击打开链接 首先,定义一个服务,在 ...
- jQuery判断元素离页面顶部的高度
<script language="javascript" type="text/javascript"> jQuery(document).rea ...
- jquery获取元素到页面顶部距离
jquery获取元素到页面顶部距离的语句为: $(selector).offset().top
- jQuery中获取文档的高度、可视区域高度以及滚动条距页面顶部的高度
在写页面的时候,经常会碰到这样的情况,就是要获取文档的高度.可视区域高度或者滚动条距页面顶部的高度等情况. 但我总是有些爱搞混淆了,这里还是简单做个笔记吧,这里只限于使用jQuery来获取. 1.获取 ...
- jquery实现返回页面顶部功能。
<p id="back-to-top"> <span></span> </p> <script type="text ...
- 代码: 返回页面顶部 jquery
jquery代码: 返回页面顶部 <script type="text/javascript" src="http://cdn.bootcss.com/jquery ...
- 【jQuery】页面顶部显示的进度条效果
<!Doctype html> <html> <head> <title>页面顶部显示的进度条效果</title> <meta htt ...
随机推荐
- 蜗牛慢慢爬 LeetCode 3. Longest Substring Without Repeating Characters [Difficulty: Medium]
题目 Given a string, find the length of the longest substring without repeating characters. Examples: ...
- json_decode遇到的编码问题
初入csdn,就最近遇到的简单问题做一个功能解释; json_encode和json_decode只针对utf8字符有效,如果遇到其他编码比如gbk,需要进行转码然后解析: header(" ...
- 【插件】LinqToExcel常用对象
1.ExcelQueryFactory对象(1)获取工作表名集合IEnumerable<string> GetWorksheetNames() //获取工作薄中的工作表名foreach ( ...
- 51nod 1574 排列转换(贪心+鸽巢原理)
题意:有两个长度为n的排列p和s.要求通过交换使得p变成s.交换 pi 和 pj 的代价是|i-j|.要求使用最少的代价让p变成s. 考虑两个数字pi和pj,假如交换他们能使得pi到目标的距离减少,p ...
- Android 分Dex (MultiDex)
需要分Dex的理由想必大家都知道了.正是在ART以前的Android系统中,Dex文件对于方法索引是用一个short类型的数据来存放的.而short的最大值是65535,因此当项目足够大包含方法数目足 ...
- 【JavaScript】20款漂亮的css字体
样式一: body { margin: 0; padding: 0; line-height: 1.5em; font-family: "Times New Roman", Tim ...
- Red Hat下升级python的问题
分为两部分: 一,升级Python 安装的包的渠道(传送门),安装过程的渠道(传送门). 二.涉及的问题 1.yum不能使用 解决办法(传送门),其中的部分就行.
- 20135239 益西拉姆 linux内核分析 跟踪分析Linux内核的启动过程
回顾 1.中断上下文的切换——保存现场&恢复现场 本节主要课程内容 Linux内核源代码简介 1.打开内核源代码页面 arch/目录:支持不同CPU的源代码:其中的X86是重点 init/目录 ...
- Machine Learning in Action-chapter2-k近邻算法
一.numpy()函数 1.shape[]读取矩阵的长度 例: import numpy as np x = np.array([[1,2],[2,3],[3,4]]) print x.shape / ...
- shell函数使用
函数定义格式: 和js有点类似,不过在 shell 中 function 关键字是可选的. 如: sum { // shell 语句 } function sum() { // shell 语句 } ...