- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 JQuery日记 5.31 JQuery对象的生成
JQuery对象的生成的逻辑如下1 selector为任何可转换false的空值 返回空JQuery对象2 selector为字符串 2.1 selector为html字符串或有id属性的标签 2.2.1 selector为html字符时 转换html字符为DOM元素并放入当前JQuery的数组 当context
2014-05-31 13:18:37 2047 1
原创 JQuery日记_5.20 JQuery对Sizzle选择器的扩展
代码很简单直接上源码function winnow( elements, qualifier, not ) { //如果qualifier是函数 if ( jQuery.isFunction( qualifier ) ) { //not为true时,返回qualifier返回false的elements //not为false时,返回qualifier返回true的elements
2014-05-20 17:53:44 1024
原创 Canavs arcTo方法的理解
arcTo方法有四个参数参数1,2为第一个控制点的x,y坐标,参数2为第二个控制点的坐标,参数3为绘制圆弧的半径.起点和第一个控制点组成的延长线与第一个控制点和第二个控制点组成的延长线都是和圆弧相切的,这个圆弧也就是被夹在两条延长线中间.圆越大,两条延长线能形成的角度能夹住的圆弧就越小.下面写了一个简单的动画帮助理解Insert title herecanvas
2014-05-17 17:41:26 2843
原创 JQuery日记_5.14 Sizzle选择器(七)
上篇说道,tokenize方法会把selector分割成一个个selector逻辑单元(如div a是两个逻辑单元)并为之片段赋予对应类型的过滤函数。for ( type in Expr.filter ) { if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
2014-05-16 18:49:55 1228 1
原创 JQuery日记_5.13 Sizzle选择器(六)选择器的效率
当选择表达式不符合快速匹配(id,tag,class)和原生QSA不可用或返回错误时,将调用select(selector, context, results, seed)方法,此方法迭代DOM选择、过滤元素,在DOM树非常大的时候为了保证效率,应该保证html设计的合理,尽量使用可快速匹配(id,tag,class)的表达式,其次是QSA支持的选择器,尽量不要使用jquery扩展的selec
2014-05-13 13:26:15 951
原创 JQuery日记 5.11 Sizzle选择器(五)
setDocument = Sizzle.setDocument = function( node ) { var hasCompare, //node为Element时返回node所属document //node为Document时返回node //node为空时返回window.document doc = node ? node.ownerDocument || node
2014-05-11 11:27:58 1979
原创 JS的继承和接口
此工具函数没实际意义,只是鉴于EXT的extend方法不太好理解,写了一个简化的extend方法,帮助理解./** * */E = {};E.extend = function(sub, sup) { //借用构造函数 sub.prototype = sup; //保留父类的构造函数,以便在子类构造函数中用调用,将父类变量绑定在this下 sub.prototype.supe
2014-05-09 20:50:35 2853
转载 unicode、GBK、UTF-8
unicode是一种“编码”,所谓编码就是一个编号(数字)到字符的一种映射关系,就仅仅是一种一对一的映射而已,可以理解成一个很大的对应表格GBK、UTF-8是一种“编码格式”,是用来序列化或存储1中提到的那个“编号(数字)”的一种“格式”;GBK和UTF-8都是用来序列化或存储unicode编码的数据的,但是分别是2种不同的格式; 他们俩除了格式不一样之外,他们所关心的unicode编码范围也不一
2014-05-09 11:46:22 905
原创 JQuery_2.1.0_日记 5.8 Sizzle选择器(四)
Sizzle( selector, context, results, seed )的关键步骤1,传入的context对应的context和当前document是否一致,不一致调用setDocument()重新设置document,用于frame的情况.2,如果context为空修正context为document3,selector如果不是字符串或者context不是Element或
2014-05-08 19:07:28 909
原创 JQuery_2.1.0_日记 5.5 Sizzle选择器(三)
function Sizzle( selector, context, results, seed ) { var match, elem, m, nodeType, // QSA vars i, groups, old, nid, newContext, newSelector;
2014-05-05 12:53:21 1163
原创 JQuery_2.1.0_日记 5.4 Sizzle选择器(二)
(1)whitespace = "[\\x20\\t\\r\\n\\f]";匹配css3中空白符.\x20:空格;\t水平制表符(tab);\r\n回车换行\f换页符(2)characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+"匹配\后任意字符,字母或数字或-,ascii值非\00-\xa0范围内的字符(3)i
2014-05-04 20:25:10 1404
原创 JQuery_2.1.0_日记 5.4 Sizzle选择器(一) 正则中那些\\\\和\\
Sizzle中恐怖的正则.字面量的正则也许还好理解,那么由字符串编译而成的正则呢.\\和\\\\由字符'\\\\'编译而成的正则是/\\/,第一个\转义第两个\,所以其匹配一个\字符(这个\字符是代表字符本身)Test_Scriptvar s = '\\' ;alert(s); // '\'var rs = '\\\\' ;var m
2014-05-04 17:21:41 1052
原创 JQuery_2.1.0_日记 5.2
$.方法(1)$.merge(first, second) 合并两个数组或类数组,将第二个数组添加到第一个数组的末尾(2)$.grep(elems, callback, invert) 使用callback对elems进行过滤,如果invert设置为true.则返回保留callback返回值为false的元素数组,如果invert设置为false则返回c
2014-05-02 20:23:11 1181
原创 JQuery_2.1.0_日记 5.1
JQuery工具方法.(1)$.isNumeric(obj) 此方法判断传入的对象是否是一个数字或者可以转换为数字. isNumeric: function( obj ) { // parseFloat NaNs numeric-cast false positives (null|true|false|"") // ...bu
2014-05-01 20:35:11 1003
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人