摘要:
不喜欢浏览器嗅探,模仿IE6的UA的浏览器太多了[代码] inner.getBoundingClientRect().top == outer.getBoundingClientRect().top) { result = false;} 阅读全文
摘要:
如果一个页面中不写html、head、body标签会发生什么?提倡未来更简洁的HTML源码格式,跟随标准,但不死扣标准! 阅读全文
摘要:
我经常抱怨jQuery的DOM操作性能并不优秀,并且经常尝试用一些方法去进行优化,但是越是优化,越是沮丧地发现jQuery其实已经做得很好,从使用者的角度能够进行的优化实在有限(这并不意味着jQuery的性能是优秀的, 反之只能说它是一个相对封闭的库,无法从外部介入进行优化)。这篇文章就记录一次失败的优化经历。 阅读全文
摘要:
你的一分钟值多少呢?你是如何让自己的每一分钟都拥有这个价值的呢? 阅读全文
摘要:
今天刚回家,QQ群里就看到有人求助优化一段jQuery代码,简单看了一下,发现如果对jQuery这东西只停留在用的层面,而不知其具体实现的话,真的很容易用出问题来。这也是为什么近期我一直不怎么推崇用jQuery,这框架的API设定就有误导人们走上歧途之嫌。 阅读全文
摘要:
jQuery 1.5 beta1出来了,从学习跟进上来说,这一次已经比较晚了(我竟然不知道1.5什么时候出的alpha,就这么beta了)。
这个1.5版本最大的更新是AJAX的完全重写,提供了更强的可扩展性。但是受制于精力和篇幅,对新的AJAX的分析还是放到下回,本篇先简单介绍一下细节方面的改进。 阅读全文
摘要:
司徒正美给出的题,也尝试着写一下。先来看概念,首先DOM是一棵树,其根节点是Document,大致可以用下图来表示:所谓“最近的共有祖先元素”,是指给定一系列元素,找出在树中深度最大的,但同时为所有这些元素的祖先元素的元素。比如上图中,I和G的结果为C,G和H的结果为A,D和E的结果为html,C和B的结果为html等。测试驱动对于偏逻辑的题,并没有十足的把握函数是正确的,因此还是先构造测试的用命,力求让函数通过测试。本次就以上图的结构作为DOM结构,A表示body,B表示head,其他节点均使用div元素,同时以上文中所说的作为测试的输入和输出,先构造一下测试:基本逻辑这次的逻辑大致是这样的 阅读全文
摘要:
事件检测,即检测某一事件在不同的浏览器中是否存在(可用),这在编写Javascript的过程中也非常重要,如mouseenter/mouseleave事件虽然实用,但并不是所有浏览器都提供了标准的支持,因此需要自己手动模拟,即:
function addEvent(element, name, handler) {
if (name == 'mouseenter' && !hasEvent(name, element)) {
//通过其他手段模拟mouseenter事件
}
//正常的事件注册
};
本文就重点讲述以上代码中hasEvent的具体实现。 阅读全文
摘要:
浏览器特性检测即通过探测对象是否拥有某个属性或者函数,或者通过其他的编码探测方式,来决定其是否支持某一功能、特性。其最经典的运用莫过于通用的addEvent函数:函数可以通过检测attachEvent函数是否存在,以决定使用attachEvent或者addEventListener,这也是最简单的一种特性检测,因而通常在需要时才进行实时的检测。另一种特性检测由于检测的过程较为麻烦,因此会预先完成检... 阅读全文
摘要:
重要的不是你拥有什么,而是你如何去看 阅读全文