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 相关文章推荐
学习JS面向对象成果 借国庆发布个最新作品与大家交流
Oct 03 Javascript
淘宝搜索框效果实现分析
Mar 05 Javascript
关于div自适应高度/左右高度自适应一致的js代码
Mar 22 Javascript
字段太多jquey快速清空表单内容方法
Aug 21 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
May 17 Javascript
Swiper实现轮播图效果
Jul 03 Javascript
vue-router实现编程式导航的代码实例
Jan 19 Javascript
微信小程序实现折线图的示例代码
Jun 07 Javascript
简单了解JavaScript弹窗实现代码
May 07 Javascript
JQuery Ajax如何实现注册检测用户名
Sep 25 jQuery
字节飞书面试promise.all实现示例
Jun 16 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
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
PHP 反射(Reflection)使用实例
2015/05/12 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
javascript的键盘控制事件说明
2008/04/15 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
vueScroll实现移动端下拉刷新、上拉加载
2019/03/22 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
python pdb调试方法分享
2014/01/21 Python
Python中splitlines()方法的使用简介
2015/05/20 Python
python实现音乐下载器
2018/04/15 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
低碳环保口号
2014/06/12 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle