浅谈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 相关文章推荐
JS实现仿Windows7风格的网页右键菜单效果代码
Sep 11 Javascript
jQuery实现带渐显效果的人物多级关系图代码
Oct 16 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
Sep 23 Javascript
AngularJS 霸道的过滤器小结
Apr 26 Javascript
详解VueJS 数据驱动和依赖追踪分析
Jul 26 Javascript
jQuery EasyUI Layout实现tabs标签的实例
Sep 26 jQuery
React Native react-navigation 导航使用详解
Dec 01 Javascript
js生成word中图片处理方法
Jan 06 Javascript
Koa2微信公众号开发之消息管理
May 16 Javascript
Angular8路由守卫原理和使用方法
Aug 29 Javascript
纯JS实现五子棋游戏
May 28 Javascript
解决vue初始化项目一直停在downloading template的问题
Nov 09 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
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
AngularJS实现一次监听多个值发生的变化
2016/08/31 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
JSONP基础知识详解
2017/03/19 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
python生成excel的实例代码
2017/11/08 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
Python流程控制语句的深入讲解
2020/06/15 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
合法的离婚协议书范本
2014/10/23 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
优秀高中学生评语
2014/12/30 职场文书
会议室管理制度范本
2015/08/06 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
Nginx跨域问题解析与解决
2022/08/05 Servers