浅谈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 相关文章推荐
JavaScript学习笔记(二) js对象
Oct 25 Javascript
jquery使用$(element).is()来判断获取的tagName
Aug 24 Javascript
jquery实现上下左右滑动的方法
Feb 09 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
Jun 08 Javascript
js模式化窗口问题![window.dialogArguments]
Oct 30 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
Sep 05 Javascript
使用3D引擎threeJS实现星空粒子移动效果
Sep 13 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
Oct 19 Javascript
Vue 处理表单input单行文本框的实例代码
May 09 Javascript
JavaScript如何借用构造函数继承
Nov 06 Javascript
javascript实现蒙版与禁止页面滚动
Jan 11 Javascript
Vue+Vant 图片上传加显示的案例
Nov 03 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
PHP入门学习笔记之一
2010/10/12 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
python getopt 参数处理小示例
2009/06/09 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
会计实习期自我鉴定
2013/10/06 职场文书
调任通知
2015/04/21 职场文书
2015年教师节广播稿
2015/08/19 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
2021/04/06 Python
mysql死锁和分库分表问题详解
2021/04/16 MySQL
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS