浅谈jQuery页面的滚动位置scrollTop、scrollLeft


Posted in Javascript onMay 19, 2015

Web页面常常比显示该页面的浏览器窗口还要大,因为Web文档具有很多内容,往往会导致页面比浏览器还要高,有时候甚至还要宽,这迫使访问者通过滚动来查看整个页面(如图10-8所示)。当访问者滚动页面的时候,一部分文档会从视线中消失。例如,Web页面不能完全放入浏览器窗口中,文档会向左或向上滚动,因此,页面的顶部和左边都会消失在视野之内。这意味着浏览器窗口的左上角和文档的左上角并不相同。如果试图放置一个新元素,例如,屏幕顶部的一个动态Banner;而如果只是试图将元素的left和top位置设置为0,将会遇到麻烦,你实际上只是将其放到了文档的顶部,但是却位于浏览器窗口之外。

幸运的是,jQuery提供了两个函数,允许你确定从顶部和左边滚动页面的多少部分(换句话说,文档的多少像素存在于浏览器窗口的上边和左边)。要确定文档的多少部分在浏览器窗口之上,使用如下所示这行代码:

$(document).scrollTop()

要确定文档的多少部分位于屏幕的左边,使用如下所示这行代码:

$(document).scrollLeft()

这两个函数都返回一个像素值,你可以用它来定位页面上的另一个元素。例如,如果你想要将一个弹出窗口定位于页面的中心,即便在某人向下滚动之后也是如此,那么,你需要确定访问者滚动了多远,并且移动弹出窗口,以使得很多额外元素位于页面的下方。在弹出工具的提示的例子中,当访问者已经向下滚动一个页面,要定位工具提示时,你需要小心:很容易意外地将工具提示放到页面空间中,但是,却在浏览器的视口中可见区域之外。使用scrollTop()来避免将一个工具提示放在浏览器窗口顶部的可视区域之上。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
使用onbeforeunload属性后的副作用
Mar 08 Javascript
判断用户是否在线的代码
Mar 05 Javascript
js选取多个或单个元素的实现代码(用class)
Aug 22 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
Dec 16 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
Nov 24 Javascript
如何用JS判断两个数字的大小
Jul 21 Javascript
提高Web性能的前端优化技巧总结
Feb 27 Javascript
JS中IP地址与整数相互转换的实现代码
Apr 10 Javascript
webpack实现热加载自动刷新的方法
Jul 30 Javascript
Vue导出页面为PDF格式的实现思路
Jul 31 Javascript
JavaScript 原型与原型链详情
Nov 02 Javascript
javascript检测两个数组是否相似
May 19 #Javascript
10条建议帮助你创建更好的jQuery插件
May 18 #Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 #Javascript
JQuery中层次选择器用法实例详解
May 18 #Javascript
Jquery中基本选择器用法实例详解
May 18 #Javascript
Jquery注册事件实现方法
May 18 #Javascript
jquery中map函数遍历数组用法实例
May 18 #Javascript
You might like
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
jQuery知识点整理
2015/01/30 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
Thinkjs3新手入门之如何使用静态资源目录
2017/12/06 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
vue解决使用$http获取数据时报错的问题
2019/10/30 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
Django异步任务之Celery的基本使用
2019/03/23 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
2020/12/14 Python
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
小学生自我评价范例
2013/09/24 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
调研汇报材料范文
2014/08/17 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
法人授权委托书范本
2014/09/17 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年幼师工作总结
2014/11/22 职场文书
大学军训口号大全
2015/12/24 职场文书
高中班主任心得体会
2016/01/07 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
instantclient客户端 连接oracle数据库
2022/04/26 Oracle