代码改变世界

随笔档案-2012年09月

属性扩展

2012-09-19 10:35 by 江苏黑马, 225 阅读, 收藏,
摘要: // 属性扩展 // @param isCover 是否覆盖已有属性 默认true this.extend = function(destination, source, isCover) { var isUndefined = this.isUndefined; (isUndefined(isCover)) && ( isCover = true); for (var name in source) { if (isCover || isUndefined(desti... 阅读全文

获取对象样式

2012-09-19 10:07 by 江苏黑马, 270 阅读, 收藏,
摘要: // 获取对象计算的样式 this.getComputerStyle = (function() { var body = document.body; if (body.currentStyle) {// IE浏览器 return function(elem) { return elem.currentStyle; } } else if (document.defaultView.getComputedStyle)... 阅读全文

原生js绑定和解除事件

2012-09-19 09:45 by 江苏黑马, 25373 阅读, 收藏,
摘要: // 事件绑定 this.bindHandler = (function() { if (window.addEventListener) {// 标准浏览器 return function(elem, type, handler) {// elem:节点 type:事件类型 handler:事件处理程序 // 最后一个参数为true:在捕获阶段调用事件处理程序 为false:在冒泡阶段调用事件处理程序 elem.addEventList... 阅读全文

原生js获取id,tagName,class

2012-09-19 09:43 by 江苏黑马, 6698 阅读, 收藏,
摘要: // 通过id获取元素 this.$ = function(id) { return document.getElementById(id); }; // 通过标签名获取元素 this.$$ = function(tagName, parent) { parent = parent || document; return parent.getElementsByTagName(tagName); }; // 通过类名获取元素 thi... 阅读全文

注册命名空间

2012-09-19 09:26 by 江苏黑马, 211 阅读, 收藏,
摘要: // 命名空间 register : function(nameSpace, func) { var nsArr = nameSpace.split("."); // win为window var parent = win; // 对象检测 for (var i = 0, len = nsArr.length; i < len; i++) { // 未定义的 对象赋空 ( typeof parent[ns... 阅读全文

元素页面位置[left,top]获取

2012-09-19 09:23 by 江苏黑马, 240 阅读, 收藏,
摘要: var getCanvasPos = function(canvas) { var left = 0; var top = 0; // 元素在页面的位置left和top while (canvas.offsetParent) { left += canvas.offsetLeft; top += canvas.offsetTop; canvas = canvas.offsetParent; } return [left, top]... 阅读全文

透明层无论滚动与否都满屏显示(纯css)

2012-09-07 15:46 by 江苏黑马, 312 阅读, 收藏,
摘要: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 4 <html xmlns="http://www.w3.org/1999/xhtml"> 5 <head> 6 <meta http-equiv="Content-Type" content="text/htm 阅读全文

css bug

2012-09-06 09:23 by 江苏黑马, 135 阅读, 收藏,
摘要: a嵌套bug ie6a里面嵌套一个设置为display:inline;zoom:1;的元素,则ie6下a的小手会消失。解决办法:在嵌套元素上加:cursor:pointer;a里面嵌套一个元素,当设置a{text-decoration:none};在ie6下还是有下划线。解决办法:加上a:hover{text-decoration:none;}而不是在a上加。 阅读全文

jquery1.8.1源码解读

2012-09-03 11:55 by 江苏黑马, 157 阅读, 收藏,
摘要: window作为参数传递。(1)不需要将作用域链回退到顶层作用域,这样可以更快的访问window。(2)可以在压缩代码时进行优化。如:window可以压缩为一个字节的a。参数列表中增加undefined。除了火狐,在其它浏览器中undefined都能够被重写,赋予新的值。 阅读全文