[ jQuery ] scrollTop与offset()!
jQuery scrollTop() 与offset()!
曾经很长一段时间,很多人问我下面一段代码的好处是什么?
;(function($){
//do something
})(jQuery);
但我一直就是这么写着,似乎觉得它本来就是这个样子的。
对说书中的那么套理论,可以完全不在乎,只知道是为了防止污染,对于污染一词,也许和环境污染一样。
只到有一天,我碰过了两个高手对决(jQuery,prototype) 的时候,对此恍然大悟。
jquery,和prototype一样都是使用了$做为简写引用。那么如果不采用命名空间的方式,$只为能其中一家所使用。
并且在某些时候会有性能的问题(个人猜想,比如你写一个$,那么它可能会先去jquery中寻找,发现没有,再去prototype中寻找)。
上述可以直接使用,或许在某些时候能节省一些性能。
对于offset与scrollTop.在网上有很多的文章,但个人觉得都有些牵强。以下为个人总结。
scrollTop 是该元素,被浏览器卷走的高度,通俗而言,就是因为滚动条的下拉,导致元素的一部分被浏览器的头部遮掉。
而这一部分就是scrollTop的值。
offset() 则是该元素距离文档顶部的的距离。这里一定要注意是文档的顶部的距离,而不是说浏览器顶部的距离。
说说注意的地方:
如果说本身没有滚动条的话,直接设置scrollTop()的话,可能是无效的。
具体情况可以通俗说就是:
比如,你的文档只有那么高,一个屏幕就能够显示了,或者说即使出现了滚动条
但是元素的顶部还没有滚到浏览器的顶部,文档就已经结束了的情况下:
你强行的输入:
scrollTop(0);
这样的情况肯定是无效的。
偶有所得,以记录之,以防忘记。
转载自:http://blog.csdn.net/yangzhihello/article/details/22108651
[ jQuery ] scrollTop与offset()!的更多相关文章
- jQuery css,position,offset,scrollTop,scrollLeft用法
jQuery css,position,offset,scrollTop,scrollLeft用法: <%@ page language="java" import=&quo ...
- jQuery中animate与scrollTop、offset().top实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jquery scrollTop() 方法
原文地址:http://www.w3school.com.cn/jquery/css_scrolltop.asp 实例 设置 元素中滚动条的垂直偏移: $(".btn1").cli ...
- jquery 中的 offset()
一.语法: 1.返回偏移坐标 $(select).offset(); top: $(select).offset().top; left: $(select).offset().left; 2.设 ...
- Jquery scrollTop animate 實現動態滾動到頁面頂部
這個方法之前都是用的錨點實現的,但是效果僵硬,動感不足! 之後參考了一些網站,發現都是用的js,於是自己想到用jquery 來做一個插件也來實現以下這個小功能. $.fn.backTop = func ...
- [jQuery].scrollTop() 函数详解
scrollTop()函数用于设置或返回当前匹配元素相对于垂直滚动条顶部的偏移. 当一个元素的实际高度超过其显示区域的高度时,在一定的设置下,浏览器会为该元素显示相应的垂直滚动条.此时,scrollT ...
- jquery中使用offset()获得的div的left=0,top=0
写东西的时候要获取div的left和top,但怎么也取不到值都为0,但在chrome的console下是可以取到值的, 瞬间就纳闷了,于是乎就在网上找各种方法,大家一般的问题可能都是要获取的div被隐 ...
- jQuery CSS 操作 - offset() 方法
今天在一个页面需要知道jquery版本号,来决定使用什么样的方法,有以下方式可以获取到 $.fn.jquery $.prototype.jquery 这两种方式都可以获取到jquery的版本号 --- ...
- 关于jQuery中的 offset() 和 position() 的用法
---恢复内容开始--- 在jQuery中有两个获取元素位置的方法offset()和position().position()方法是在1.2.6版本之后加入的,为什么要引入这个方法呢?这两个方法之间有 ...
随机推荐
- Ajax分页(MVC下)(附源码,前后台)
网上找的一个分页js,自己改了改.. 前台页面 @{ ViewBag.Title = "Index"; } <h1>分页方法封装</h1> <scri ...
- 五大移动GPU厂商
<谁能笑傲江湖?移动处理器门派那些事儿>一文中我们把2012年的移动处理器的厂商做了一番介绍,并依照各自的属性给划分了门派.既然把他们称为江湖门派.那么每一个门派总要有自己的绝活.移动处理 ...
- 关于write solid code中的memset
文中说明memset可以通过操作整形以加速程序执行速度,这一点值得肯定,问题在于unicore或arm中协处理器有地址访问对齐检查,如果我们如此操作,编译器最终使用str指令来完成,那么当地址未对齐时 ...
- 查询_修改SQL Server 2005中数据库文件存放路径
1.查看当前的存放路径: select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.maste ...
- 移动端meta 解释
移动端meta 解释 <meta name="viewport" content="width=device-width, initial-scale=1.0, u ...
- web开发中的安全问题
web开发中很多东西由前段来负责判断,比如常见的邮箱 电话号码,前端判断到不是一个正确的格式,在你点击提交时候提示你格式填错了,然后不请求后端php,直到你填写正确的格式为止.这种其实可以修改js或者 ...
- orcale增量全量实时同步mysql可支持多库使用Kettle实现数据实时增量同步
1. 时间戳增量回滚同步 假定在源数据表中有一个字段会记录数据的新增或修改时间,可以通过它对数据在时间维度上进行排序.通过中间表记录每次更新的时间戳,在下一个同步周期时,通过这个时间戳同步该时间戳以后 ...
- Eclipse+pydev解决中文显示和注释问题的方法大全
Eclipse+pydev解决中文显示和注释问题的方法大全 Eclipse的设置 window->preferences->general->editors->textedit ...
- LeetCode——Basic Calculator
Description: Implement a basic calculator to evaluate a simple expression string. The expression str ...
- LeetCode——Single Number
Description: Given an array of integers, every element appears twice except for one. Find that singl ...