[ 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版本之后加入的,为什么要引入这个方法呢?这两个方法之间有 ...
随机推荐
- IOS URL scheme
常用URL scheme查询 http://handleopenurl.com/scheme QQ: mqq://新浪微博: weibo:// (sinaweibo://)腾讯微博: tencentw ...
- hadoop学习笔记之-hbase完全分布模式安装-5
http://blog.csdn.net/lichangzai/article/details/8441975 http://blog.csdn.net/jpiverson/article/detai ...
- 使用 JMeter 完成常用的压力测试 [转]
讲到测试,人们脑海中首先浮现的就是针对软件正确性的测试,即常说的功能测试.但是软件仅仅只是功能正确是不够的.在实际开发中,还有其它的非功能因素也起着决定性的因素,例如软件的响应速度.影响软件响应速度的 ...
- mybatise 动态sql
1. <if><choose> 动态sql 相当 <if> Java if 满足多个条件 <choose> <when> java ...
- Java精选笔记_面向对象(包、访问控制、内存机制、垃圾回收机制)
包 包的定义与使用 专门用来存放类的,通常功能相同的类存放在相同的包中. 包的声明只能位于Java源文件的第一行 Java语言中的常用包 java.lang:包含Java语言的核心类,如String. ...
- osgEarth2.8添加模型
#include <osgEarthDrivers/model_simple/SimpleModelOptions> SimpleModelOptions modelOptions; mo ...
- linux系统socket通信编程1
Linux下的Socket编程大体上包括Tcp Socket.Udp Socket即Raw Socket这三种,其中TCP和UDP方式的Socket编程用于编写应用层的socket程序,是我们用得比较 ...
- 报错程序包org.springframework.test.context不存在
在pom.xml文件中找到 加入了依赖,但是maven update 或者Reimport后 启动还是报错 最后使出绝招: 在maven仓库的位置 找到对应的文件夹 更奇怪了 发现明明有jar包啊! ...
- 预装的Office2016,文件图标表显示以及新建失败问题解决 方法
新购买笔记本电脑,预装的office2016 学生版 启动激活后,会出现文件图标异常, 文件的类型为: ms-resource:Strings/FtaDisplayName.docx (.docx) ...
- Android 命令行打包和签名
使用命令行方式进行签名需要JDK中的两个命令行工具:keytool.exe和jarsigner.exe.可按如下两步对apk文件进行签名: 1. # keytool -genkey -v -keyst ...