javascript实现博客园页面右下角返回顶部按钮


Posted in Javascript onFebruary 22, 2015

博客园中很多博友的博客中在Page右下角都有个图标,不论屏幕怎么拉伸,都始终停留在右下角。点击后页面置顶。后面想想写一个Demo来实现这种效果吧。

     一. 图标右下角固定.

  1.SS 里面提供了4中布局方式. 其中fixed表示绝对定位元素。所以我们选择使用fixed来实现图标固定.

absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative 生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。

        2.定代码如下。Button按钮将始终置于屏幕右下角。不论是拖动上下精度条还是拉伸浏览器窗口大小.

#myTopBtn{

        bottom: 5px;

        right: 5px;

        position:fixed;

    }

二. 实现点击后回到页面最上角.

1. 要想回到屏幕最上角就得小了解如何通过JavaScript还操作拖动条的上下移动.JavaScript提供了scrollby和scroll方法.

window.scrollBy(0,-30)  //屏幕上移30像素点

window.scroll(0,0) // 屏幕回到最上角

2. 上面已经提到了如何移动拖动条,那么如何实现按照一定的速度移动到page页顶部呢。那么就要借助setInterval和clearInterval方法. 实现没10毫秒屏幕上移30个像素点。

<body>

  <div id="myDiv" >

  </div>

  <button id="myTopBtn" onclick="TopFunc()">To Top</button>

</body>
 
var myVar;

    function TopFunc(){

        myVar=setInterval(EachScrollBy,10);    

    }
    function EachScrollBy(eachHeight){

        if(document.documentElement.scrollTop<=0){

            clearInterval(myVar);

        }else{

            window.scrollBy(0,-30);

        }

    }

        三. 扩展

实现了置顶按钮。那么我们如何实现点击按钮屏幕置底呢.其实原理差不多,这里就不写demo了。给大家提供一些属性做参考.

      网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight

网页可见区域宽:document.body.offsetWidth (包括边线的宽)

网页可见区域高:document.body.offsetHeight (包括边线的宽)

网页正文全文宽:document.body.scrollWidth

网页正文全文高:document.body.scrollHeight

网页被卷去的高:document.body.scrollTop

网页被卷去的左:document.body.scrollLeft

网页正文部分上:window.screenTop

网页正文部分左:window.screenLeft

屏幕分辨率的高:window.screen.height

屏幕分辨率的宽:window.screen.width

屏幕可用工作区高度:window.screen.availHeight

屏幕可用工作区宽度:window.screen.availWidth

以上就是本文的全部内容了,希望爱玩博客的童鞋们喜欢。

Javascript 相关文章推荐
Javascript的构造函数和constructor属性
Jan 09 Javascript
javascript入门基础之私有变量
Feb 23 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
Jul 13 Javascript
js制作的鼠标悬浮时产生的下拉框效果
Oct 27 Javascript
JS解决ie6下png透明的方法实例
Aug 02 Javascript
jQuery插件scroll实现无缝滚动效果
Apr 27 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
Jul 05 Javascript
javascript常用正则表达式汇总
Jul 31 Javascript
浅谈webpack+react多页面开发终极架构
Nov 11 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
解决vue自定义全局消息框组件问题
Nov 22 Javascript
解决vant的Toast组件时提示not defined的问题
Nov 11 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 #Javascript
js实现图片和链接文字同步切换特效的方法
Feb 20 #Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 #Javascript
JavaScript获取文本框内选中文本的方法
Feb 20 #Javascript
jQuery常用数据处理方法小结
Feb 20 #Javascript
jQuery数据缓存用法分析
Feb 20 #Javascript
jQuery性能优化技巧分析
Feb 20 #Javascript
You might like
Discuz 模板引擎的封装类代码
2008/07/18 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
Python中除法使用的注意事项
2014/08/21 Python
Python入门篇之字符串
2014/10/17 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
python中模块查找的原理与方法详解
2017/08/11 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
python将回车作为输入内容的实例
2018/06/23 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
南京某软件公司的.net面试题
2015/11/30 面试题
实习自我鉴定范文
2013/10/30 职场文书
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
体育学院毕业生自荐信
2013/11/03 职场文书
最新自我评价范文
2013/11/16 职场文书
竞选演讲稿范文
2013/12/28 职场文书
捐资助学倡议书
2014/04/15 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS
JavaScript实现班级抽签小程序
2021/05/19 Javascript
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python