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 相关文章推荐
jQuery的attr与prop使用介绍
Oct 10 Javascript
详解AngularJS中的表格使用
Jun 16 Javascript
JS实现的打字机效果完整实例
Jun 20 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
Aug 24 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
Dec 18 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
Jul 18 Javascript
详解开源的JavaScript插件化框架MinimaJS
Oct 26 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
Jan 25 Javascript
Nuxt配合Node在实际生产中的应用详解
Aug 07 Javascript
VueQuillEditor富文本上传图片(非base64)
Jun 03 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
Jul 17 Javascript
Javascript节流函数throttle和防抖函数debounce
Dec 03 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! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
JS之小练习代码
2008/10/12 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
Flexigrid在IE下不显示数据的有效处理方法
2014/09/04 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
实例讲解Vue.js中router传参
2018/04/22 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
Python实现GUI学生信息管理系统
2020/04/05 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
学python安装的软件总结
2019/10/12 Python
python学生信息管理系统实现代码
2019/12/17 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
Python 列表反转显示的四种方法
2020/11/16 Python
大学班级学风建设方案
2014/05/01 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
圆明园观后感
2015/06/03 职场文书
四则混合运算教学反思
2016/02/23 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server