一个用canvas做的电子表
最近学习 javascript,看到 canvas 绘图的部分,就做了一个电子表练练手。 使用 canvas 绘制电子表的每一个线段,而后用 js 获取时间,每毫秒执行一次,更新 canvas。 演示地址:http://labs.simpleapples.com/timer/ github:https://github.com/simpleapples/javascripttimer
最近学习 javascript,看到 canvas 绘图的部分,就做了一个电子表练练手。 使用 canvas 绘制电子表的每一个线段,而后用 js 获取时间,每毫秒执行一次,更新 canvas。 演示地址:http://labs.simpleapples.com/timer/ github:https://github.com/simpleapples/javascripttimer
人生中第一个 offer 是 3 个小时前收到的,来自国内某大型软件公司。 两天前打酱油似的参加了该公司在学校的宣讲,紧接着带着积攒经验的心态参加了现场笔试、面试。 就在 3 个小时前,一份热腾腾的 offer 摆在了面前。 哦,原来 offer 是这个样子的啊。 哦,原来发 offer 时的 hr 这么和蔼啊。 顿时,人生阅历丰富了一截。 我仔细地打量了它,像一张精致的贺卡,比我的大学录取通知书好看的多。 时间到了 3 个小时后的现在,我即将发出人生中的第一份拒信。 对,拒掉刚拿到的 offer。 一个理由。 趁年轻,给自己一个拼的机会。
constructor 和 prototype,顾名思义,是构造者(构造器)和原型的意思。 从语义的角度来看,对象 A 构造了对象 B,则 A 就是 B 的 constructor,如果对象 A 的形态来自对象 B,则对象 B 是 A 的原型。 看一段代码: function Person() { Person.prototype.name = "myname"; Person.prototype.age = 18; Person.prototype.sayName = function () { alert(this.name); }; } var person1 = new Person(); person1.sayName(); 这里 Person 就是 Person.prototype 的 constructor,为什么?因为 Person 构造了 Person.prototype。而 person1 的 prototype 不是 Person.prototype。在 person1 初始化时,可以理解成把 Person 拷贝了一份(就是 new 了一份)扔给 person1,而 Person 每 new 一次,都会从他的原形处继承(只是称为继承,方便理解)了一份 name,age,sayName。person1 是 copy 了 Person,但是 prototype 并没有 copy,所以说 person1 的 prototype 是 undefined。 ...
今天在做一个网页的时候,想实现 mouse over 时候给 li 加载 background-image,在 mouse out 时候移除 background-image。 通过 js 实现: if(action == 0) { btn.style.backgroundImage = "url(images/index_nav1_07.jpg)"; btn.style.backgroundRepeat = "repeat-x"; } else { btn.removeAttribute("style"); } 发现可以兼容 ff 和 ie,但是在 chrome 下 mouse out 动作没有执行。 后发现可能是 chrome 不支持 removeAttribute(),于是加入兼容写法: if(action == 0) { btn.style.backgroundImage = "url(images/index_nav1_07.jpg)"; btn.style.backgroundRepeat = "repeat-x"; } else { btn.style.backgroundImage = ""; btn.style.backgroundRepeat = ""; btn.removeAttribute("style"); } 此方法实现了 ff、ie 和 chrome 兼容。 ...
在火狐或 IE 浏览器中点击点击<a>标签,标签周围会出现虚线框(如图),影响美观。 针对 IE 浏览器解决这个问题的方法是将 hidefocus="hidefocus" 添加到<a>标签中。 针对 firefox 浏览器的方法是添加 css 属性 outline:none