`

页面加载时就确定函数实现

阅读更多

我们知道使用js获取浏览器的信息时经常涉及浏览器的兼容性.例如获取浏览器的滚动条

// Cross browser gets the position of scroll
com.whuang.hsj.getScroll=function(){
    return {
        top:document.documentElement.scrollTop || document.body.scrollTop,
        left:document.documentElement.scrollLeft || document.body.scrollLeft,
        height:document.documentElement.scrollHeight ||document.body.scrollHeight
    }
}

 上面的方法每次执行时都得判断,所以我进行了如下优化:

// Cross browser gets the position of scroll
com.whuang.hsj.getScroll=(function(){
	if(document.documentElement.scrollTop!=='undefined'&&document.documentElement.scrollTop!==0)
	{
		return function(){
			return {
				top:document.documentElement.scrollTop,
				left:document.documentElement.scrollLeft,
				height:document.documentElement.scrollHeight
			};
		};
	}else return function(){
		return {
			top:document.body.scrollTop,
			left:document.body.scrollLeft,
			height:document.body.scrollHeight
		};
	};
    
})();

 核心思想:在初始化时就确定函数的实现方式.

但是在使用过程中出现了问题,因为它的判断条件是:

if(document.documentElement.scrollTop!=='undefined'&&document.documentElement.scrollTop!==0)

但是在页面初始化时这个判断的依据是有问题的,不是实时的.在火狐中就有问题.

 

 

分享到:
评论

相关推荐

    Lotus公式语言函数简介

    @DeleteDocument 在代理中运行时此函数时,删除正在被处理的文档 @DeleteField 在代理中运行该函数,@DeleteField 将删除指定的域 @DialogBox 弹出一个对话框,用指定的表单显示当前的文档 @Do 从左到右计算表达式,...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (3)针对页面自适应问题,本文结合渐进增强以及拥抱流式布局的思想,同时研究利用了移动设备的视口特性,实现跨分辨率、跨设备的页面自适应。 (4)针对系统的功能实现问题,通过结合利用原生态框架与HTML5的跨平台...

    HTML5制作的飞机大战

    它包括了一个Canvas元素和一个...如果玩家点击“确定”,则会重新加载页面并重新开始游戏。如果玩家点击“取消”,则会关闭网页。最后,它使用requestAnimationFrame函数来循环调用update函数,以实现游戏的动态效果

    js学习笔记大全

    * 获取元素,或者在DOM加载完成时执行某函数 * @param arg 此参数为字符串时,认为是 c$.getElement 的缩写,用来获取元素。用法参考 c$.getElement * 如果 arg 是 function 则认为是 c$.ready 的缩写,在dom加载完成...

    vue项目前端埋点的实现

    可视化埋点:使用可视化工具进行配置化的埋点,即所谓的「无痕埋点」,前端在页面加载时,可以读取配置数据,自动调用接口进行埋点。如开源的Mixpanel; 无埋点:前端自动采集全部事件并上报埋点数据。如国内的神策...

    好看好用的alert提示框

    8、可以页面加载的任意时间调用,如页面初始化时调用,页面加载完成后调用。 9、支持通过JSON和传统的参数传入方式。如ymprompt.alert('消息内容',300,200,'消息标题',handler)和ymprompt.alert({message:'消息内容'...

    中文版Excel.2007高级VBA编程宝典.part1

    完整清晰版 PDF ,有目录。共 270MB,分为 2 个分卷 中文版Excel 2007 高级VBA编程 宝典 OFFICE2007 ... 11.3.2 确定打印页面的数量  11.3.3 显示日期和时间  11.3.4 获得字体列表  11.3.5 对数组进行排序  ...

    漂亮的消息提示框 消息提示组件 Javascript写的

    8、可以页面加载的任意时间调用,如页面初始化时调用,页面加载完成后调用。 9、支持通过JSON和传统的参数传入方式。如ymprompt.alert('消息内容',300,200,'消息标题',handler)和ymprompt.alert({message:'消息内容'...

    用jQuery实现的模态弹出窗口,封装了alert和confirm

    OKEvent:okEvent,//okEvent是自定义的确定按钮响应函数, css:{width:"700",height:"500"} }); $.alert("这是警告窗口"); $.confirm("这是个Boolean窗口"); $('#blocked').block();//id为blocked的元素设置为...

    QT点菜系统

    区分信号源,弹出对应的子窗体让用户输入相应信息,按确定按钮修改SQL对应Table内容然后发送输入信息信号,主窗体接受到信号调用槽函数(相应窗体成员调用其布局函数重布局)重新布局整个界面(餐台信息与左侧总餐台...

    PHP和MySQL Web开发第4版pdf以及源码

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行...

    PHP和MySQL WEB开发(第4版)

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets...

    ExtAspNet_v2.3.2_dll

    -Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在父页面弹出对话框的JS代码。 -修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,...

    PHP和MySQL Web开发第4版

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在父页面弹出对话框的JS代码。 -修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,...

    javascrip变量查看器

    在head 标签内直接以[removed][removed]的方式引用即可,之后页面左上角有一个灰色的小按钮出现,点开就行了.....在代码中同样可以使用 来查看变量,但有一个限制是 只能在 加载 body 标签之中或之后使用 查看 函数 ...

    webmention.js:一组简单的 JS 函数来显示 http 中的数据

    这目前需要一些工作! 请参阅以获得更好的基于客户端 JS 的 webmention 显示系统。... 将您希望检索数据的页面的 URL 添加到id并确定该列表应该由webmention.js处理,以及它应该通过向class添加webmen

    jQuery权威指南-源代码

    9.5 综合案例分析—使用jQuery扩展工具函数实现对字符串指定类型的检测/305 9.5.1 需求分析/305 9.5.2 效果界面/305 9.5.3 功能实现/306 9.5.4 代码分析/309 9.6 本章小结/311 第10章 jQuery性能优化与最佳...

Global site tag (gtag.js) - Google Analytics