07 2012 档案
摘要:一直想弄清楚windows注册表里面的那个树用js怎么搞出来,昨天倒腾了一天,终于小有成就,实现了一棵拥有基本功能的js树。以前看树感觉最复杂的部分就是那些各种线条,各种加号减号到底怎么组织出来的,用css又怎么画出一棵树来。昨天看了司徒正妹的博客,有了一些灵感,然后就试着自己摆弄了一下。司徒用的是纯div的形式,而我用的dl列表的形式。用dl有个好处,就是即使没有样式,也能将就看,而且在语义化上也更说得过去。好了,废话到此,下面就看怎么样一步步实现的吧首先我们来试着画一棵静态树,我们把树分为文件夹和文件,文件夹的图标和名字放到dt里,文件夹的内容放到dd里,如果文件夹里还有子文件夹,那么子文
阅读全文
摘要:先看效果:首先看实现思路:第一步: 弹出一个遮罩层mask遮罩层需要覆盖整个网页内容区域,所以很明显,它的宽度和高度就是整个内容区域的高度和高度。由于各浏览器的嗜好不同,有的浏览器把document.body.scrollHeight认为是整个内容区域的高度,而有的把document.documentElement.scrollHeight认为是整个内容区域的高度,不要纠结浏览器大战了,直接用Math.max搞定吧,反正记住大的那个就是了。有了这个高度宽度,弹出这个遮罩就很easy了,只需要创建一个div,然后设置它的背景色,透明度,高度宽度,position为absolute,left、to
阅读全文
摘要:mouseenter在domlevel3中才被定义,目前在chrome中不被原生支持,但是各大框架的事件系统都摸了了mouseenter事件。大多数情况下,mouseover和mouseenter产生的结果都差不多,那为什么还要搞一个mouseenter呢?我认为,mouseover是逻辑关系上的事件,即一旦某dom元素的子元素被mouseover了,它自己也就被mouseover了,而mouseenter却是物理上的,即只有你眼睛看到光标进入了的元素,才会触发mouseenter事件,mouseleave同理。为了便于理解,我们还是看例子吧(在firefox里运行):<!DOCTYPE
阅读全文

浙公网安备 33010602011771号