建站极客
网络编程 JavaScript 正文
javascript知识点收藏
所属分类:
网络编程 / JavaScript
阅读数:
1429
收藏 0
赞 0
分享
1.四种浏览器对 document.body 的 clientHeight、offsetHeight 和 scrollHeight 的解释。 这四种浏览器分别为IE(Internet Explorer)、NS(Netscape)、Opera、FF(FireFox)。 clientHeight 大家对 clientHeight 都没有什么异议,都认为是内容可视区域的高度,也就是说页面浏览器中可以看到内容的这个区域的高度,一般是最后一个工具条以下到状态栏以上的这个区域,与页面内容无关。 offsetHeight IE、Opera 认为 offsetHeight = clientHeight + 滚动条 + 边框。 NS、FF 认为 offsetHeight 是网页内容实际高度,可以小于 clientHeight。 scrollHeight IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。 NS、FF 认为 scrollHeight 是网页内容高度,不过最小值是 clientHeight。 简单地说 clientHeight 就是透过浏览器看内容的这个区域高度。 NS、FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。 IE、Opera 认为 offsetHeight 是可视区域 clientHeight 滚动条加边框。scrollHeight 则是网页内容实际高度。 同理 clientWidth、offsetWidth 和 scrollWidth 的解释与上面相同,只是把高度换成宽度即可。 但是 FF 在不同的 DOCTYPE 中对 clientHeight 的解释不同, xhtml 1 trasitional 中则不是如上解释的。其它浏览器则不存在此问题。2.JS取clientHeight与scrollTop 先来段数据,下表的值为document.body.clientHeight / document.documentElement.clientHeight IE FF Html 608/0 630/11096 Xhtml 10942/591 11076/630 在html/xhtml与ie/ff这4种排列组合下,取得的clientHeight几乎没有一样的,可见写一段兼容3种浏览器两种页面标准的js脚本有多头疼。 暂时总结的判断方法如下: var h1 = document.body.clientHeight; var h2 = document.documentElement.clientHeight; var isXhtml = (h2<=h1&&h2!=0)?true:false; //判断当前页面的Doctype是否为Xhtml var body = isXhtml?document.documentElement:document.body; alert(body.clientHeight); //最终结果比较一致 安全的取到scrollTop: document.body.scrollTop + document.documentElement.scrollTop 判断浏览器的类型,这种写法挺喜欢的: var ua = navigator.userAgent.toLowerCase (); var os = new Object(); os.isFirefox = ua.indexOf ("gecko") != -1; os.isOpera = ua.indexOf ("opera") != -1; os.isIE = !os.isOpera && ua.indexOf ("msie") != -1;3.js取到flash对象方法汇总 IE, FF, Maxthon用document.getElementById(id) Opera用 document.embeds(id) var isOpera=(window.opera&&navigator.userAgent.match(/opera/gi))?true:false; if(isOpera){ var oswf = document.embeds('ad_flipper_swf'); }else{ var oswf = document.getElementById('ad_flipper_swf'); }4.js执行顺序 1.同级的不同的代码块,代码块间的执行顺序为从上到下; 2.在代码中嵌入代码的情况下,先执行上层代码块,再执行子代码块;代码中嵌入代码 是指一个文件引入另一个文件,而不是指所有的通过document.write形式打出的代码。
ES6中Array.find()和findIndex()函数的用法详解 ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。下面通过实例详解,需要的朋友参考下吧
评论 0
收藏 0
赞 0
分享
JS闭包的几种常见形式实例详解 本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
评论 0
收藏 0
赞 0
分享
Javascript 严格模式use strict详解 严格模式:由ECMA-262规范定义的JavaScript标准,对javascrip的限制更强。这篇文章主要介绍了Javascript 严格模式use strict详解 ,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
引入JavaScript时alert弹出框显示中文乱码问题 今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码,怎么解决此问题呢?下面小编给大家带来了引入JavaScript时alert弹出框显示中文乱码问题的解决方法,一起看看吧
评论 0
收藏 0
赞 0
分享
Angularjs自定义指令实现分页插件(DEMO) 由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
评论 0
收藏 0
赞 0
分享
查看更多