上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页
摘要: 下载了jQuery的UI组件,发现内容还挺多的,还是决定先把jQuery的源码看完一遍之后再涉足UI组件。考虑到队列和动画使用较少,特别是动画,基本开始使用css3完成。因此暂时略过,开始看jQuery对属性操作的处理。该部分大约500行代码,预计一周看完。jQuery提供的属性操作方法有两种1、挂载到jQuery对象上 // 获取或设置属性值。当参数只有name时,获取jQuery集合中的第一个元素的name属性的值。 //name和value都有时,为jQuery集合中的所有元素增加name属性,value为值的属性 $(elem).attr(name, [value]); // ... 阅读全文
posted @ 2013-12-25 21:57 charling 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 看了一下队列剩下的几个方法,在没有应用场景的情况下,对它所做的一些处理不能明白。后续希望可以通过动画部分代码的阅读能搞清楚这些处理的意义。jQuery.fn.extend({// 推迟队列中函数的执行 delay: function( time, type ) { // 估计需要看了动画部分的代码才能知道是怎么回事 time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; type = type || "fx"; // 推一个匿名函数到栈中,该函数通过setTimeout延迟特定的函数执行。 retur... 阅读全文
posted @ 2013-12-25 01:37 charling 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 继续阅读队列提供的方法。jQuery.extend({ queue: function( elem, type, data ) {}, // 将data按照某种类型存储到elem对应的队列中,并等待执行。同时返回目前队列中的所有数据 dequeue: function( elem, type ) { // 出列操作,如果想要执行队列中的所有方法,则有多少个方法就需要执行多少次dequeue方法 // 如果指定类型就按照指定类型查找,否则默认是“fx” type = type || "fx"; // 拿出队列中的所有数据 var queue = jQuery.queue... 阅读全文
posted @ 2013-12-23 22:00 charling 阅读(1038) 评论(0) 推荐(0) 编辑
摘要: jQuery的队列依赖缓存机制事件,它同时是animate的基础。它不像事件机制、缓存机制、回调机制一样有自己的命名空间,由于比较简单,所以直接挂在到$和jQuery对象上。它提供的基础方法有:jQuery.extend({ queue: function( elem, type, data ) { var queue; // 如果存在elem,也就是至少有一个参数 if ( elem ) { // 如果有第二个参数,使用第二个参数加上“queue”,否则使用“fx” + “queue”(动画队列的名称) type = ( type || "fx" ) + "qu 阅读全文
posted @ 2013-12-22 15:29 charling 阅读(1733) 评论(0) 推荐(0) 编辑
摘要: Data封装的方法的后面四个方法 和 dataAttr方法阅读。Data.prototype = { key: function( owner ) {}, set: function( owner, data, value ) {}, get: function( owner, key ) {}, // 该方法集中处理了几种情况。该方法看似没什么用,其实它是暴露给用户的data方法的统一处理入口。 access: function( owner, key, value ) { var stored; // 如果key和value没有传入,或者((key传入了并且key是Strin... 阅读全文
posted @ 2013-12-22 11:46 charling 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 缓存机制提供的入口有:$.data([key],[value]) // 存取数据$.hasData(elem) // 是否有数据$.removeData([key]) // 删除数据$.acceptData(elem) // 检测元素是否可以使用缓存机制存数据$(elem).data([key],[value]) // 存取数据$(elem).removeData([key]) // 删除数据已经阅读了缓存机制为用户提供的入口,并且重点阅读了$(elem).data()方法(其它方法都是直接调用data_user对象的方法),接下来重点看data_user对象封装的属性和方法Data.prot 阅读全文
posted @ 2013-12-19 22:07 charling 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 1、从用户调用的入口开始阅读,因为这是我们比较熟悉的部分(主要做参数的调整,根据不同的完成不同的功能) // 进入jQuery Data模块的入口 使用方法有三种,不传参,传一个参,传两个参。示例$("div").data("name", "value") // 如果不传参则返回该元素上的所有数据,传一个参数则返回该元素上对应的属性值,传两个参数则为该元素绑定该属性并赋值 data: function( key, value ) { var attrs, name, // 取出jQuery对象中的第一个DOM对象,数据是存储在DOM对 阅读全文
posted @ 2013-12-18 22:06 charling 阅读(1506) 评论(0) 推荐(0) 编辑
摘要: 1、首先看一下涉及到jQuery缓存机制的代码结构:// 定义一些jQuery内部的变量,方便后续使用var data_user, data_priv, // 后续会被赋值为两个Data对象 rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, // 匹配花括号和方括号及其中间的内容 rmultiDash = /([A-Z])/g;//匹配大写字母// 定义Data的构造函数function Data() {}// 为Data构造函数添加一个uid属性Data.uid = 1;// 哪些类型的对象可以使用Data存储数据的:元素节点、文档节点、ObjectDa... 阅读全文
posted @ 2013-12-17 22:05 charling 阅读(7948) 评论(0) 推荐(0) 编辑
摘要: 1、自定义事件(用户手动trigger的一般都是自定义事件)trigger: function( event, data, elem, onlyHandlers ) { var i, cur, tmp, bubbleType, ontype, handle, special, // 如果没有传入elem(绑定到那个DOM元素上的事件),则默认为document eventPath = [ elem || document ], //core_hasOwn是hasOwnProperty的替代,检测event上是否有type属性,如果有就将其赋值给type,否则说明eve... 阅读全文
posted @ 2013-12-17 00:14 charling 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 1、通过一步步调试的的方法观察了一下存放到cache中的事件及其处理程序的数据格式:{ events : { // 根据事件类型存放添加到该元素上的所有事件,下面以click为例 click : [ // click 事件类型。已数组的形式,按绑定的先后循序存放不同的事件处理函数相关内容(已对象的形式) { data : "", // 事件绑定时传入的data guid : 1, // jQuery分配的事件的id,用来查找对应的事件,以便删除或进行其它操作 namespace : "", // 事件的命名空间 needsConte... 阅读全文
posted @ 2013-12-15 22:43 charling 阅读(898) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 22 下一页