自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 三角知识

弧度和角度 角度: rotation属性 投影滤镜(drop shadow filter)弧度: Math.sin之类的都是用弧度 弧度(radians) = 角度(degrees) * Math.PI /180 角度(degrees) = 弧度(radians) * 180 / Math.PI ...

2011-10-11 21:44:32 103

原创 Event对象的5种坐标

1. x, y(FF不支持) 相对于浏览器窗口可视文档区域左上角的位置,IE例外,表示相对于文档开头的位置  2. pageX, pageY(IE不支持) 相对于文档开头的位置,如果有滚到条,也包括在内,IE中,使用x, y  3. offsetX, offsetY(FF不支持) 相对于event.target左上角的位置  4. lay...

2011-09-10 18:15:59 197

原创 表格性能相关

创建表格 一般把<table>....</table>拼成一个字符串,再以innerHTML的形式加入一个容器 var start = new Date().getTime(), len = 2000, arr = ['<table><tbody>'], div = document.createElement('div'...

2011-08-12 17:38:10 138

原创 [笔记] 表格操作API

<table>元素具有的属性和方法:captiontBodiestFoottHeadrowscreateTHead()createTFoot()createCaption()deleteTHead()deleteTFoot()deleteCaption()deleteRow(pos)insertRow(pos)<tbod...

2011-08-11 21:52:14 176

原创 表格排序的另类做法

刚看到的一种新方法,rows数组里面存的不是tr对象,而是一个数组,数组元素的结构为{[0, 1, 2, ...], HTML}数字表示该行单元格内容HTML表示 该行的HTML字符串形式...

2011-08-11 15:45:53 73

原创 移除事件的注意事项

1.用innerHTML清除节点时,节点的事件处理程序极有可能无法被回收2.如果页面在卸载前没有清理干净事件处理程序,那么就会留在内存中,每次加载完页面再卸载时(在两个页面间来回切换或刷新页面),内存中滞留的对象数量就会增加,因为事件处理程序占用的内存没有被释放...

2011-08-10 22:31:11 104

原创 局部定义undefined的好处

[code="js"]function fun1(){ var undefined, a; for(var i = 0; i < 100000; i++){ a === undefined; } }function fun2(){ var a; for(var i =0; i < 100000; i++){ ...

2011-08-08 23:53:21 157

原创 判断对象是否有某属性或方法

有两种方法:obj[name] 和 'name' in obj试了下10万次取值比较,一般来说第一种方式稍快一些些

2011-08-08 18:13:54 93

原创 HTML字符串动态生成节点

[b]1.innerHTML[/b][code="js"]var div = document.createElement('div'), fragment = document.createDocumentFragment(), str = '1112', node;div.innerHTML = str;while((node = div.firstChild)...

2011-08-03 11:28:55 451

原创 Range操作

一个范围具有两个边界点,即一个开始点和一个结束点。每个边界点由一个节点和那个节点的偏移量指定。该节点通常是 Element 节点、Document 节点或 Text 节点。对于 Element 节点和 Document 节点,偏移量指该节点的子节点。偏移量为 0,说明边界点位于该节点的第一个子节点之前。偏移量为 1,说明边界点位于该节点的第一个子节点之后,第二个子节点之前。但如果边界节点是 Tex...

2011-08-02 18:20:07 397

原创 innetHTML的一些问题

1.IE自动消除空白符[code="js"]var div = document.createElement("div");div.innerHTML = " hello js ";console.log("|" + div.innerHTML + "|")[/code] [b]IE8:[/b] |hello js |[b]Chrom...

2011-08-02 14:41:51 170

原创 jQuery源码 —each方法

[code="js"]each: function( object, callback, args ) { var name, i = 0, length = object.length, // 这样判断是否为Object还挺奇怪的,下面的代码根据{key:value}和[]两种类型进行遍历 // 一般来说,Element和{}对象的length属性是undefined...

2011-08-02 10:29:08 125

原创 Query源码 — after方法

after方法定义在jQuery.prototype[code="js"]after: function() { if ( this[0] && this[0].parentNode ) { return this.domManip(arguments, false, function( elem ) { this.parentNode.insertBefore( ele...

2011-08-01 17:54:01 187

原创 jQuery源码 — trim方法

trim方法定义在jQuery.prototype[code="js"]var trim = String.prototype.trim,//在jQuery闭包最开始的地方定义的 trimLeft = /^[\s\xA0]+/; trimRight = /[\s\xA0]+$/;············// Use native String.trim functi...

2011-08-01 15:54:47 134

原创 jQuery源码 — addClass方法

本方法定义在jQuery.prototype[code="js"]addClass: function( value ) { var classNames, i, l, elem, setClass, c, cl; if ( jQuery.isFunction( value ) ) { return this.each(function( j ) {...

2011-08-01 15:07:07 203

原创 margin重叠

今天发现个问题,如下[code="html"]div { width:100px; height:100px; background:red; margin:100px;} div [/code]这样写,body也会有margin-top:100px的效果详情:http://www.w3school.com.cn/css/...

2011-07-31 15:07:44 79

原创 获取元素的精确坐标

[code="js"]var getCoords = function(el){ var box = el.getBoundingClientRect(), doc = elem.ownerDocument, html = doc.documentElement; body = doc.body, win = getWindow(doc), clientTop...

2011-07-28 17:20:23 511

原创 style, currentStyle, runtimeStyle

样式(Styles)的优先级依次是内嵌(inline), 内部(internal), 外部(external), 浏览器缺省(browser default)。style:元素内联样式,对应于元素的style属性,指定了才可以获得,通过外联或在style元素中指定样式取不到值,el.style.xx这种设置方式是设置了元素的内联样式currentStyle:它能够获取元素所...

2011-07-27 15:09:29 104

原创 获取border宽度值

#id{ border:2px blue solid;}[code="js"]var obj = document.getElementById('id');obj.style.border;obj.style.borderWidth;obj.style.borderTopWidth;[/code][b]obj.style.border[/b] ...

2011-07-27 14:13:37 630

原创 IE下获得透明度值的一个问题

[code="js"]var obj = document.getElementById('id');obj.style.filter;obj.filter;[/code]样式为:id#{ filter: alpha(opacity=10);}css非内联样式时,打印:""undefinedcss为内联样式时,打印:"alpha(...

2011-07-27 13:41:13 90

原创 获取选择文本

参考自:http://www.zhangxinxu.com/wordpress/2011/04/js-range-html%E6%96%87%E6%A1%A3%E6%96%87%E5%AD%97%E5%86%85%E5%AE%B9%E9%80%89%E4%B8%AD%E3%80%81%E5%BA%93%E5%8F%8A%E5%BA%94%E7%94%A8%E4%BB%8B%E7%BB%8D/...

2011-07-26 18:03:34 580

原创 事件处理函数的this

1.el.onclick = function(){// this等于el}2.el.addEventListener('click', function(){// this等于el}, false);3.el.attachEvent('onclick', function(){// this等于window});

2011-07-24 18:28:59 158

原创 eval的返回值

[code="js"]var a;var code = " if(typeof(a) == 'undefined'){a={x:1};} "var b = eval(code);[/code]最后b是{x:1},查了些资料,说是eval的返回值等于语句最后一个(有效的)子句的返回值...

2011-07-24 00:52:05 3141

原创 DOM之width、height、left、top

这几个东西涉及到很多属性,而这些属性又有各种兼容性问题,我在这总结一下:[b][size=large]offset系列:[/size][/b][b]offsetParent[/b]:offset系列的核心。一个DOM元素的offsetParent一般是body,如果该元素的父容器定义过position:relative/absolute/fixed之一,offetParent就为它...

2011-07-19 12:31:10 325

原创 浏览器特性检测

IE:if (!+"\v1") { // IE}// IE有动态创建style的原生方法var oStylesheet = document.createStyleSheet ( sURL , iIndex );// IE的style元素支持styleSheetvar styleElement = document.getElementsByTagName("...

2011-07-17 16:59:50 194

原创 浏览器兼容性

IE系列:创建元素一般使用document.createElement(tagName);但是IE7及更早版本动态创建元素会有一些问题,如下:1. 不能设置动态创建的元素的name属性2. 不能通过表单的reset()方法重置动态创建的元素3. 动态创建的type属性值为reset的重置不了表单4. 动态创建的一批name相同的单选按钮彼此毫无关系为此,...

2011-07-10 18:05:19 72

原创 jQuery对象

jQuery对象是一个js数组,这个数组对象包含4个属性和125个方法。4个属性是:[list][jQuery 当前的jQuery框架版本号][length 指示该数组对象的元素个数][context 一般情况下都是指向HtmlDocument对象][selector 传递进来的选择器内容 如:#yourId或。yourClass等][/list]...

2011-07-07 11:07:30 52

原创 命名匿名函数

匿名函数可以被命名,但是名字只在匿名函数内部可用。[code="js"]var obj = { fun : function myFun(){ //myFun只在内部可用 myFun(); }}[/code]其实这只是为了调用myFun函数而已,可避免混乱的引用关系,还有一种更为简单的方法可实现这效果:[code="js"]var o...

2011-07-06 23:39:54 198

原创 JS基础

原型链[code="js"]function Person(name){ this.name = name;}Person.prototype.value = 123;var p = new Person("jay");p.name;[/code]寻找p的name属性,首先会检索p这个对象的所有属性,找到就返回,如果找不到,就再去找创建这个对象的prototy...

2011-04-06 11:27:08 49

原创 js正则匹配

[code="js"]/abc/.test(function(){abc;});[/code]这种匹配很奇怪,test(str)函数本来应该传递字符串的,经我测试,我发现如上写法居然也可以,并返回true,换了几种别的测试,总结如下:{}里只要有abc的存在都可以匹配,只要不是以数字开头都可以,用来匹配属性和方法名挺好使的replace(regexp/substr,re...

2011-04-02 16:02:33 63

原创 java正则

java的反义都是需要加 \ 的,如 \" 表示 " 字符正则语言本身也有些字符需要转义,也是加 \ ,如 \. 表示 “.” 字符 问题来了,如果在java要使用正则的转义,等于施加了双重语法,于是就出现了 \\* ,表示 "*" 字符 更奇怪的是,表示 "\" 字符,java要用 \\\\  四个\ !!!!变态啊!!!  元字符,如\b, \s,查看文档就够了...

2011-03-24 10:10:36 62

原创 正则去标点

摘抄: str = str.replaceAll("[\\pP‘’“”]", ""); Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。 \pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。 大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。 ...

2011-03-24 00:37:38 106

原创 可见高度宽度

标准的盒模型:可见宽度 = width + padding + border;怪异模式下的盒模型:可见宽度 = width(padding和border算在里面了)高度亦然

2011-03-23 11:30:12 78

原创 js样式相关

大多数情况下,我们都会很自然的使用node.style.xx的方式获得样式,但这种方法只适用于内置在标签里的style。如果要获得,或者.css文件里的样式,方法有两种,一种是通过document.styleSheets对象,另一种是通过“最终样式”对象,其中 IE中这个对象叫做currentStyle,FF中这个对象叫做document.defaultView。读样式:[code="...

2011-03-22 12:12:04 56

原创 匿名函数新写法

[code="js"]Function('alert(123)')();[/code]'alert(123)'被强制类型转换成Function,然后调用就打印了

2011-03-18 11:13:08 116

原创 原型链继承

[code="js"]function People(){ this.name = 'people';}function Man(){ this.name = 'man';}Man.prototype = new People();[/code]为原型赋值的是父类的实例,而不是引用

2011-03-16 15:22:15 75

原创 JavaScript获取元素在浏览器画布中的绝对位置

JavaScript中提供获取HTML元素位置的属性: HTMLElement.offsetLeft HTMLElement.offsetHeight但是需要注意的是,这两个属性所储存的数值并不是该元素相对整个浏览器画布的绝对位置,而是相对于其父元素位置的相对位置,也就是说这两个数值得到的是以其 父元素左上角为(0,0)点从而计算出的数值。那么如何得到一个HTML元素的绝对位置呢,...

2011-03-15 12:44:01 146

原创 获取元素的height

一般的情况下使用: node.style.height;但IE很奇怪,如果你没用css给元素指定height值,它返回auto,这明显不是我们想要的,于是要用到offsetHeight属性: node.offsetHeight;...

2011-03-14 18:24:59 249

原创 prototype定义的方法

[code="js"]function fun(){ var People = function(name){ this.name = name; alert('调用方法而已'); this.init(); } People.prototype.init = function(){ alert('People初始化!'); } ...

2011-03-14 13:59:53 256

原创 setInterval和setTimeout

[code="js"]setInterval(arg1, arg2);setInterval(arg1, arg2);[/code]这两个方法的第一个参数表示一段可执行代码经常误用为[code="js"]setInterval(fun(), 1000);function fun(){ alert("方法被调用!")}[/code]这里代码不会正...

2011-03-14 10:41:16 60

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除