代码改变世界

用css伪类实现提示框效果

2014-11-14 21:22 by 勤劳的插秧哥, 478 阅读, 0 推荐, 收藏, 编辑
摘要:题目要求用css实现下图效果:很明显难点就在那个多出去的三角形上,下面代码是用一个div来实现的,用到了伪类 : befor和 : after,使用这两个伪类活生生的在div之前和之后多出了“那么点东西”,然后设置其边框,形成一黑色三角形,在用after造出另一白色三角形,让白色三角形位置向后移动,... 阅读全文

关于DOM操作的性能优化

2014-11-13 12:55 by 勤劳的插秧哥, 359 阅读, 0 推荐, 收藏, 编辑
摘要:最著名的有关用js操作dom的观点是:js和dom是独立的小岛,用桥实现两者的联系,但桥很窄,要过路费,所以我们要尽最大可能减少过桥的次数。下面代码演示了用js操作dom的innerHTML,且一下修改5000次:testcss dddd 以上代码运行起来是十分消耗性能的,虽然各浏览器处理时间不一... 阅读全文

让人省心的事件委托

2014-11-13 12:03 by 勤劳的插秧哥, 142 阅读, 0 推荐, 收藏, 编辑
摘要:事件委托:利用冒泡的原理把实践添加到父元素级别上,触发执行效果。时间委托优点: 1.提高性能,不用for循环遍历所有li,节省性能。 2.新添加的元素还会有原来之前的事件。先看时间委托提高的性能吧,一个常见的效果,鼠标经过列表背景变红,鼠标移走取消背景色。下面代码是没使用时间委托:testc... 阅读全文

一些js小题(一)

2014-11-12 16:54 by 勤劳的插秧哥, 167 阅读, 0 推荐, 收藏, 编辑
摘要:一些js小题,掌握这些对于一些常见的面试、笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//10 因为bb函数调用aa时,程序在执行aa,执行aa时只能找到全局中的a:1... 阅读全文

css复习笔记

2014-11-11 18:00 by 勤劳的插秧哥, 146 阅读, 0 推荐, 收藏, 编辑
摘要:margin:1. 当有三个值时第一个值为上,第二个值为左右,第三个值为下。2.margin外边距折叠,水平没有,垂直会折叠,且折叠后以两者最大值为准。另外,当一个元素包裹另一元素时也会发生折叠。折叠条件:垂直,包含。3.margin用于来居中时auto要作用于左右,margin上下值会忽略auto... 阅读全文

js实现拖拽

2014-11-11 16:42 by 勤劳的插秧哥, 159 阅读, 0 推荐, 收藏, 编辑
摘要:拖拽:最核心是三个事件,鼠标按下,鼠标移动,鼠标弹起。按下时激活拖拽,然后时刻根据鼠标的位置来更新物体的left和top值,达到跟随鼠标的效果,鼠标弹起则取消拖拽。以下是代码:拖拽 原理很简单,但实现过程要考虑很多细节,如刚移动时物体要在原有的位置点开始移动,而不是事件发生的位置处开始移动,还... 阅读全文

可怜的js居然没有块级作用域

2014-11-10 11:22 by 勤劳的插秧哥, 176 阅读, 0 推荐, 收藏, 编辑
摘要:js中在一个函数中定义一个for循环:for(var i=0;i<5;i++) 其中的i并不会随着for循环的结束就销毁,i会一直存在该函数中,这就是js和其他语言的区别,也就是js没有块级作用域的概念。看以下代码:function test(){ for(var i=0;i<5;i++) ... 阅读全文

js中的继承

2014-11-07 20:40 by 勤劳的插秧哥, 126 阅读, 0 推荐, 收藏, 编辑
摘要:继承,一个子类,一个超类,子类想获取超类中的属性和方法,获取之后不满意也可以重写超类中的方法。新建一个超类:function fa(){ this.name='father'; } fa.prototype.getname=function(){ return this.name; }... 阅读全文

用构造函数创建对象时的this的指向问题

2014-11-06 15:58 by 勤劳的插秧哥, 2457 阅读, 0 推荐, 收藏, 编辑
摘要:用构造函数方式创建对象:function Person(name,age){ this.name=name; this.age=age; this.sayname=function(){ alert(this.name); }; }构造函数其实就是用new操作符调用的一个函数... 阅读全文

js中创建对象的几种方式

2014-11-06 11:10 by 勤劳的插秧哥, 441 阅读, 0 推荐, 收藏, 编辑
摘要:创建对象指创建一个object并给这个对象添加属性和方法,有以下几个方式:最基本的:var Person={};Person.name='tom';Person.age='20';Person.sayname=function(){alert(this.name);};创建了一个Person对象,并... 阅读全文