yaway's public fiddles
-
JS>数组去重>优化方案(单重循环)
核心是构建了一个 hash 对象来替代 indexOf. 注意在 JavaScript 里,对象的键值只能是字符串,因此需要 var key = typeof(item) + item 来区分数值 1 和字符串 '1' 等情况。
-
JS>数组去重>直觉方案(IE优化
[从 JavaScript 数组去重谈性能优化](https://github.com/lifesinger/lifesinger.github.com/issues/113)
-
JS>Closure>循环绑定
我理解闭包的定义就是:能够访问其它函数内部变量的函数。可以作为内部函数与外部函数沟通的管道。 总结闭包的特点以及好处: 1.函数嵌套函数 2.内部函数可以引用外部函数的参数和变量 3.参数和变量不会被垃圾回收机制回收 1.使一个变量长期驻扎在内存中 2.避免全局变量的污染 3.使私有成员存在
-
JS>this>默认指向window
函数是自包含的对象,它创建的时候默认是赋给window全局对象的,当把这个函数赋给另外一个对象的时候,this的指向就会发生改变,我们知道私有函数是严格限制在构造方法里面的,对私有函数来说构造方法只是一个函数,不是对象(他还没被实例化呢),所以它里面的this当然还是指向window。 如果你想在私有函数内部引用外部对象,唯一的办法就是在外面保存this 的值。
-
FUN>CSS3 Tencent QQ Logo
By AlloyTeam
-
CSS>Block Formatting Context(BFC)>test 2
Block Formatting Context可以阻止元素被浮动覆盖: 在标准浏览器下可以看到,普通的#right元素被浮动的#left元素所覆盖了。要想避免这种情况,有一种方法就是让#right形成新的Block Formatting Context。但是这里一定要注意的是,浮动不会覆盖的只是Block Formatting Context的border-box。换句话说,形成Block Formatting Context元素的margin还是会被浮动所覆盖掉的。
-
CSS>Block Formatting Context(BFC)>test 1
Block Formatting Context可以包含内部元素的浮动: 代码本意是做一个两行两列的布局,但是由于#red, #orange, #yellow, #green这四个div同在一个布局环境中,即便通过#c1, #c2这两个div划分,浮动之后它们还会一个接着一个排列,并不会换行。我们要做的就是把这四个div两两划分到不同的布局环境之中,从而闭合浮动。通过上面的分析,让#c1形成新的Block Formatting Context就可以解决问题。
-
demo>Tab选项卡>遍历数组时对DOM监听事件问题>添加_index属性
给DOM节点添加_index属性
-
demo>Tab选项卡>遍历数组时对DOM监听事件问题>利用闭包
在遍历数组时对DOM监听事件,索引值始终等于遍历结束后的值(数组长度) 原因:当click的监听函数被执行的时候才会去看变量i的值是什么,此时for循环早已经执行完
-
exam>筛选DOM元素>解法1.1(while 循环)
递归的替代方案 效率更高
-
demo>百度Ting封面hover效果>CSS3实现
Mootools 1.4.5, HTML, CSS, JavaScript
-
exam>筛选DOM元素>解法1(递归)
设 A = $("#id a"),B = $("#id .c a"),求 A - B。要求:1、不能用 jQuery 等框架;2、兼容 IE6 在内的各大浏览器;3、尽可能高效;4、尽可能简短
-
-
css>iebug>height
Mootools 1.4.5, HTML, CSS, JavaScript
-
css>iebug>height
正常:容器高度限定,即容器定义了height之后,容器边框的外形就确定了,不会被内容撑大, IE6:是会被内容撑大,高度限定失效。所以不要轻易给容器定义height。
-
JS>getELementById
测试IE下把name当id的bug 测试环境:IETester(IE6)、IE9. 测试过程: 测试oZwei对象,IE中错报“ein”,复现bug. 测试oEin对象,IE正确报“ein”,排除优先选择name的可能. 测试结果: document.getElementById(elementName)的时候,返回的是第一个name或者id等于elementName的对象,并不是按照ID来查找的.IE9没有出现该问题.
-
CSS>layout>2Columns>rightFixedDemo1
Mootools 1.4.5, HTML, CSS, JavaScript
-
JS>innerHTML
Mootools 1.4.5, HTML, CSS, JavaScript
-
CSS>layout>2Columns>leftFixedDemo2
Mootools 1.4.5, HTML, CSS, JavaScript
-
CSS>layout>2columns>leftFixedDemo1
Mootools 1.4.5, HTML, CSS, JavaScript