原生JavaScript实现页面回到顶部的功能
/*如果想实现点击一个按钮让滚动条回到最顶部的功能,首先可能就会想到它是从底部位置移动到顶部的位置
它是一个运动的过程,只要知道当前位置(current Position)和想要到达的位置(target Position)不就可以啦
只不过以前用的都是元素div啦 img啦等等等
现在不过是把元素的移动换成滚动条的移动
好了 上代码 我尽量写的清晰一点*/
function $(id){return document.getElementById(id);} //通过ID获取元素
function show(obj){obj.style.display="block"}
function hide(obj){obj.style.display="none"}
function scroll(){
/*IE9或者IE9+
pageXOffset和pageYOffset是window对象的一个属性
它的意思是:返回文档在窗口左上角(0,0)水平和垂直方向滚动的像素
其实就是代表一个水平滚动条,一个垂直滚动条。*/
if(window.pageXOffset)
{
return{top:window.pageYOffset}
}
/*标准浏览器,谷歌,火狐啥的
document.compatMode是判断浏览器的渲染方式当文档声明doctype的时候
返回值是CSS1Commpat(标准兼容模式开启)
否则返回的是BackCompact(标准兼容模式关闭)
兼容性无非是就在不同版本的浏览器用不同的代码而已!*/
else if(document.compatMode=="CSS1Compat"){
return{top:document.documentElement.scrollTop}
}
//也可以简写 else return{top:document.body.scrollTop} 这样写不过是为了让大家明白
else if(document.compatMode=="BackCompat"){
return{top:document.body.scrollTop}
}
}
var obj=$("returnTop"),y=0,timer=null;
//然后写一个滚动条监听事件,只要滚动条滚动就可以获得滚动条的top值
window.onscroll=function(){
scroll().top>0?show(obj):hide(obj);//当滚动条的top值大于0的时候obj才显示
y=scroll().top;
}
//点击事件
obj.onclick=function(){
//设置定时器之前清除定时器
clearInterval(timer);
timer=setInterval(function(){
y=y-30;//最终的位置是(0,0) 减少的数字随便设置
window.scrollTo(0,y);//根据参数移动到相应的位置(绝对定位)
if(y<=0){
clearInterval(timer);//清除定时器
}
},1000/60);
}
ps:每当完成一件事情的时候莫名的想唱歌!!!之前太马虎了 有错误没发现 因为直接在博客里写的
现在测试成功!
原生JavaScript实现页面回到顶部的功能的更多相关文章
- 【JavaScript Demo】回到顶部功能实现
随着网站的不断发展,需要展示的内容也越来越丰富,这导致网页上能展示的内容越来越多.当内容堆积影响了用户体验,就需考虑如何提升用户体验.在这一系列的改动中,“回到顶部”的功能成为了一个经典. 1.页面布 ...
- js——页面回到顶部
很久都没有去慕课网学习学习了,刚恰好就看见了一个用的比较多的小例子——页面回到顶部,记得之前自己也是在初学web时,被这个坑了一回,因此今天特地拿来分享分享…… <!DOCTYPE html&g ...
- jQuery实现页面回到顶部功能
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 【JQ+锚标记实现点击页面回到顶部】
前言:今天想写个页面常用到的[点击回到页面顶部或是首页的功能],生活和职场一样,总会有低谷的时候,这个时候咱也别怂.别怂.别怂,说三遍!那都不是事,工作没了,再找呗,就像我上周五,团队解散那天,我是笑 ...
- 页面回到顶部的三种实现(锚标记,js)
一.使用锚标记返回页面顶部 使用HTML锚标记最简单,就是看起来有点不好看,点击后会在地址栏显示这个锚标记,其它的倒没什么. 页面顶部放置: <a name="top" id ...
- JavaScript实现网页回到顶部效果
在浏览网页时,当我们浏览到网页底部,想要立刻回到网页顶部时,这时候一般网页会提供一个回到顶部的按钮来提升用户体验,以下代码实现了该功能 HTML代码: <p id="back-top& ...
- jQuery实现“回到顶部”按钮功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jQuery-使页面回到顶部
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jQuery学习之路(7)- 用原生JavaScript实现jQuery的某些简单功能
▓▓▓▓▓▓ 大致介绍 学习了妙味,用原生的JavaScript实现jQuery中的某些部分功能 定义自己的函数库lQuery ▓▓▓▓▓▓ $()选择器的实现 jQuery是面向对象的,所以自己编写 ...
随机推荐
- JAVA面向对象思想
1.面向对象的基本特征 面向对象具有三个基本特征:封装.多态.继承. 1)封装 封装指的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能. ...
- Springboot项目如何把项目运行在服务器上
作为一个开发者,不可避免的要把本地项目变成可以接入外网的上线项目,今天来记录下springboot框架下如果把项目打包放在服务器上运行 第一步,首先要买个服务器,这个一般甲方会提供 第二步,导入jar ...
- Linux shell 脚本(一)
一.初识脚本 shell:一类介于系统内核与用户之间的解释程序.脚本:一类使用特定语言,按预设顺序执行的文件批处理.宏.解释型程序创建shell脚本:理清任务过程--整理执行语句--完善文件结构1.任 ...
- IM-iOS退出后台接受消息,app退出后台能接收到推送
App被失活状态的时候可以走苹果的APNS:但是在活跃的时候却接受不到推送! 那就用到本地推送:UILocalNotification 消息神器. 处理不好可能会有很多本地推送到来,那么问题来了要在什 ...
- Google Chrome Plus——绿色便携多功能谷歌浏览器
我更新浏览器的时候一般没有时间更新这个帖子,所以具体请看我网盘下载链接里面的更新日志,请自行查看最新版本下载,谢谢. 近期更新日期:2016.8.15(此时间可能不是最新,请看我网盘里面的更新日志) ...
- 关于IPFS, 你想知道的都在这里
IPFS的的"宏伟"目标是取代HTTP, 那么先来看看IPFS是如何工作的? IPFS为每一个文件分配一个独一无二的哈希值(文件指纹: 根据文件的内容进行创建), 即使是两 ...
- 第一迭代目标——future weather
第一个迭代目标(主要数据) 引导界面.获取天气数据(api接口).天气分享 人员工作分配: 引导界面:周子静,界面的引导,耗时3天 获取天气数据:包舒婷.俞先浩,api接口,耗时5天 天气分享:郭磊蕾 ...
- Java安装和环境变量配置
一.Java的安装 1.下载合适的版本,安装jdk和jre到同一路径下的同一文件夹下,例如:都安装在 E:\Java: 备注: JDK:Java Development Kit : JRE: Ja ...
- maven 技术总结
1.版本统一控制 在 properties中配置一个参数,在添加依赖时 通过 version标签 限定版本 <properties> <org.springframework.ver ...
- 笔记:Struts 2.3.31 配置说明
复制文件到站点的 WEB-INF\lib 目录,文件列表如下,黄色突出显示的是必须加入的核心包 struts2-core-2.3.31.jar:struts2 的核心库 xwork-core-2.3. ...