/*如果想实现点击一个按钮让滚动条回到最顶部的功能,首先可能就会想到它是从底部位置移动到顶部的位置

它是一个运动的过程,只要知道当前位置(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实现页面回到顶部的功能的更多相关文章

  1. 【JavaScript Demo】回到顶部功能实现

    随着网站的不断发展,需要展示的内容也越来越丰富,这导致网页上能展示的内容越来越多.当内容堆积影响了用户体验,就需考虑如何提升用户体验.在这一系列的改动中,“回到顶部”的功能成为了一个经典. 1.页面布 ...

  2. js——页面回到顶部

    很久都没有去慕课网学习学习了,刚恰好就看见了一个用的比较多的小例子——页面回到顶部,记得之前自己也是在初学web时,被这个坑了一回,因此今天特地拿来分享分享…… <!DOCTYPE html&g ...

  3. jQuery实现页面回到顶部功能

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  4. 【JQ+锚标记实现点击页面回到顶部】

    前言:今天想写个页面常用到的[点击回到页面顶部或是首页的功能],生活和职场一样,总会有低谷的时候,这个时候咱也别怂.别怂.别怂,说三遍!那都不是事,工作没了,再找呗,就像我上周五,团队解散那天,我是笑 ...

  5. 页面回到顶部的三种实现(锚标记,js)

    一.使用锚标记返回页面顶部 使用HTML锚标记最简单,就是看起来有点不好看,点击后会在地址栏显示这个锚标记,其它的倒没什么. 页面顶部放置: <a name="top" id ...

  6. JavaScript实现网页回到顶部效果

    在浏览网页时,当我们浏览到网页底部,想要立刻回到网页顶部时,这时候一般网页会提供一个回到顶部的按钮来提升用户体验,以下代码实现了该功能 HTML代码: <p id="back-top& ...

  7. jQuery实现“回到顶部”按钮功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. jQuery-使页面回到顶部

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. jQuery学习之路(7)- 用原生JavaScript实现jQuery的某些简单功能

    ▓▓▓▓▓▓ 大致介绍 学习了妙味,用原生的JavaScript实现jQuery中的某些部分功能 定义自己的函数库lQuery ▓▓▓▓▓▓ $()选择器的实现 jQuery是面向对象的,所以自己编写 ...

随机推荐

  1. 面向服务的体系架构 SOA(二) --- 服务的路由和负载均衡

    2. 服务的路由和负载均衡 1.2.1 服务化的演变 SOA设计思想:分布式应用架构体系对于业务逻辑复用的需求十分强烈,上层业务都想借用已有的底层服务来快速搭建更多.更丰富的应用,降低新业务开展的人力 ...

  2. ubuntu16.04 安装常见问题解决方案------输入法黑框

    我的系统是 lubuntu 16.04 刚安装输入法候选字的地方全是黑框,然后百度查到了 compton 和 xcompmgr 这两个说是窗口微调 透明 ,这两个方法对我的系统不管用 .各位如果遇到黑 ...

  3. [转]svn diff 替代工具

    svn diff 替代工具 http://blog.csdn.net/fudesign2008/article/details/8168811 一. 使用vimdiff替换svn diff: 对于多数 ...

  4. 【前端单元测试入门03】Sinon

    前端测试存在的问题 在讲Sinon之前,我们得先讲一下在学习了Mocha.chai以及enzyme之后,我们的前端测试还存在的一些问题. 比如前台测试需要与后台交互,获取后台数据后再根据相应数据进行测 ...

  5. python中字符串和列表只是汇总

    字符串知识汇总 字符串是描述变量的重要信息,其中的应用也是很多,很重要的一点就是StringBuilder.今天我们会为大家介绍一下常用的StringBuilder 1 strip lstrip rs ...

  6. unix命令

    最近需要用到一些Unix的东西 ,就学习了下这个东西,简单记录下命令,方便以后查询! 1. ls这是最基本的档案指令. ls 的意义为 "list",也就是将某一个目录或是某一个档 ...

  7. Maven-01: Maven入门

    先看看开发环境: 我们在E盘下新建一个文件夹叫helloworld,这个文件夹下建一个src文件夹和一个文件pom.xml. src下的目录结构为: pom.xml文件内容为: <?xml ve ...

  8. Javscript的函数链式调用基础篇

    我们都很熟悉jQuery了,只能jQuery中一种非常牛逼的写法叫链式操作: $('#div').css('background','#ccc').removeClass('box').stop(). ...

  9. 设置placeholder字体的颜色

    ::-webkit-input-placeholder { /* WebKit browsers */ color:#999; } :-moz-placeholder { /* Mozilla Fir ...

  10. 基于hi-nginx的web开发(python篇)——使用jinja2模板引擎

    模板引擎的使用在web开发中是不可避免和必要的.hi.py框架使用jinja2作为模板引擎. 为了使用hi.py提供的jinja2引擎,首先需要引入它: from hi import hi,templ ...