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()!的更多相关文章

  1. jQuery css,position,offset,scrollTop,scrollLeft用法

    jQuery css,position,offset,scrollTop,scrollLeft用法: <%@ page language="java" import=&quo ...

  2. jQuery中animate与scrollTop、offset().top实例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. jquery scrollTop() 方法

    原文地址:http://www.w3school.com.cn/jquery/css_scrolltop.asp 实例 设置 元素中滚动条的垂直偏移: $(".btn1").cli ...

  4. jquery 中的 offset()

    一.语法: 1.返回偏移坐标 $(select).offset(); top:  $(select).offset().top; left:  $(select).offset().left; 2.设 ...

  5. Jquery scrollTop animate 實現動態滾動到頁面頂部

    這個方法之前都是用的錨點實現的,但是效果僵硬,動感不足! 之後參考了一些網站,發現都是用的js,於是自己想到用jquery 來做一個插件也來實現以下這個小功能. $.fn.backTop = func ...

  6. [jQuery].scrollTop() 函数详解

    scrollTop()函数用于设置或返回当前匹配元素相对于垂直滚动条顶部的偏移. 当一个元素的实际高度超过其显示区域的高度时,在一定的设置下,浏览器会为该元素显示相应的垂直滚动条.此时,scrollT ...

  7. jquery中使用offset()获得的div的left=0,top=0

    写东西的时候要获取div的left和top,但怎么也取不到值都为0,但在chrome的console下是可以取到值的, 瞬间就纳闷了,于是乎就在网上找各种方法,大家一般的问题可能都是要获取的div被隐 ...

  8. jQuery CSS 操作 - offset() 方法

    今天在一个页面需要知道jquery版本号,来决定使用什么样的方法,有以下方式可以获取到 $.fn.jquery $.prototype.jquery 这两种方式都可以获取到jquery的版本号 --- ...

  9. 关于jQuery中的 offset() 和 position() 的用法

    ---恢复内容开始--- 在jQuery中有两个获取元素位置的方法offset()和position().position()方法是在1.2.6版本之后加入的,为什么要引入这个方法呢?这两个方法之间有 ...

随机推荐

  1. 演示-JQuery中伪元素和伪类选择器

    HTML代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  2. jQuery实现HTML表格单元格的合并功能

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 如何查看nginx的版本及配置选项?nginx都配置了哪些的模块?

    需求描述: 新接手别人的nginx,想要查看当前都配置了哪些模块 操作过程: 1.通过nginx -V选项查看nginx的配置选项 [root@hadoop3 sbin]# ./nginx -V ng ...

  4. DoBox 下载

    DoBox下载 一款简单十分好用的办公助手,用于记录您接下来需要做的事情.待办事项小工具 - DoBox DoBox下载 下载地址:http://www.wxzzz.com/?id=141 最新版本: ...

  5. 改善C#程序的建议4:C#中标准Dispose模式的实现

    http://www.cnblogs.com/luminji/archive/2011/03/29/1997812.html 需要明确一下C#程序(或者说.NET)中的资源.简单的说来,C#中的每一个 ...

  6. day05<Java语言基础--数组>

    Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...

  7. git 清空所有commit记录方法

    说明:例如将代码提交到git仓库,将一些敏感信息提交,所以需要删除提交记录以彻底清除提交信息,以得到一个干净的仓库且代码不变 1.Checkout git checkout --orphan late ...

  8. VMware克隆虚拟机后网络不能正常使用的解决方法

    1.问题情况 在vmware中克隆一个虚拟机后,新的虚拟机网络无法使用,并用原操作系统中的网卡eth0在克隆出来的新系统中,网卡号变成了eth1,并且IP地址也丢失了,网络不可正常使用. 2.环境情况 ...

  9. NUC970设备驱动

    安装完WinUSB4NuVCOM_NUC970.exe后      USB0要配置成DEVICE 才可以在设备管理器中显示.

  10. Oracle12cWindows安装、介绍及简单使用(图文)

    1.下载 地址为:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html 含企业版和 ...