-
index.html & setInterval(tick, 13) 由于js单线程机制不能保证每13ms会执行一次。通过createTime()与当前时间对比,动态算出变化尺度。通过这种方式也许原本期望tick执行10次,但浏览器在你duration: 2000时间内只给你调用了9次的情况下也能完整完成一个动画。查看全部
-
API: .animate( properties, options ): 即 .animate( properties [, duration ] [, easing ] [, complete ] ) 理解定义(代码参考右边) book.animate({ opacity: 0.25, left: '50', height: 'toggle' }, { duration :1000, specialEasing: { height: 'linear' }, step: function(now, fx) { console.log('step') }, progress:function(){ console.log('progress') }, complete:function(){ console.log('动画完成') } }) 首先,动画的参数都是最终值,都是相对数据。 如上 div 元素的起始: opacity: 是 1,那么通过动画改成 0.25 left: 是 500,那么通过动画改成 50 height: 为'toggle' 意味着如果是隐藏与显示的自动切换 step:是针对 opacity/left/height 各自动画,每次改变通知三次 progress: 是把 opacity/left/height 看成一组了,每次改变只通知一次查看全部
-
文档写的很好,可以都看,大概过一遍就行查看全部
-
看index.html jQuery 为动画量身定制了队列机制,我们的思路可以是这样 有一个队列,在执行第一个 animate 方法的时候加入队列就开始执行动画,因为动画自己在执行的时候就会产生异步的时间差 我们在这个时间差的里面继续去加入之后的动画 animate 进去队列,然后在每一个动画结束之后去取出队列中的第一个 animate 方法开始执行,依次循环下去查看全部
-
index.html看注释 $.queue:这个方法有两个作用,它既是 setter,又是 getter。 第一个参数 elem 是 DOM 元素,第二个参数 type 是字符串,第三个参数 data 可以是 function 或数组。 var body = $('body'); function cb1() {alert(1)} function cb2() {alert(2)} //set,第三个参数是函数 $.queue(body, 'aa', cb1); $.queue(body, 'aa', cb2); //get $.queue(body, 'aa') //[function ,function] $.dequeue : 匹配的元素上执行队列中的下一个函数。 var body = $('body'); function cb1() {console.log(11111)} function cb2() {console.log(22222)} //set $.queue(body, 'aa', cb1); // 第三个参数为function $.queue(body, 'aa', cb2); $.dequeue(body, 'aa') //11111 $.dequeue(body, 'aa') //2222查看全部
-
Queue 队列如同 data 数据缓存与 Deferred 异步模型一样,都是 jQuery 库的内部实现的基础设施。 但是不同与普通队列定义的是: jQuery.queue 和 jQuery.fn.queue 不仅执行出队操作返回队头元素,还会自动执行返回的队头元素 fn 是扩展在原型上的高级API是提供给实例使用的 .queue/.dequeue 其内部是调用的 .queue,.dequeue 静态的底层方法实现入列与出列查看全部
-
index.html中 converters =>text to json converters =>text to xml 这两个写的非常清楚 converters的映射 converters: { // Convert anything to text、 // 任意内容转换为字符串 // window.String 将会在min文件中被压缩为 a.String "* text": window.String, // Text to html (true = no transformation) // 文本转换为HTML(true表示不需要转换,直接返回) "text html": true, // Evaluate text as a json expression // 文本转换为JSON "text json": jQuery.parseJSON, // Parse text as xml // 文本转换为XML "text xml": jQuery.parseXML }查看全部
-
这一节无论是文档还是index.html都写的很不错,都可以看看!查看全部
-
index.html模拟的真好,值得认真看!!!查看全部
-
OK,就是整个流程就是: 客户端发送一个请求,规定一个可执行的函数名(这里就是 jQuery 做了封装的处理,自动帮你生成回调函数并把数据取出来供 success 属性方法来调用,不是传递的一个回调句柄),服务端接受了这个 backfunc 函数名,然后把数据通过实参的形式发送出去查看全部
-
所以总结其实 jsonp 的一个核心点:允许用户传递一个 callback 参数给服务端,然后服务端返回数据时会将这个 callback 参数作为函数名来包裹住 JSON 数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。查看全部
-
预处理的处理就是将其缓存为设置为 false ,浏览器将不缓存此页面,这将在请求的 URL 的查询字符串中追加一个时间戳参数,以确保每次浏览器下载的脚本被重新请求,工作原理是在 GET 请求参数中附加" _={timestamp} "在请求的地址后面加一个时间戳。查看全部
-
所以 prefilters 就是在特定的环境针对特定的情况做一些必要的兼容的处理。 请求分发器 transports: 请求分发器顾名思义发送请求, 底层的 ajax 发送请求是通过 send 方法, jQuery 对 send 方法做了拆分,把对应的处理放到了 transports 中了, transports处理后多出了 script,send,abort 等方法用来增强 $.ajax(), 应仅作为当预过滤器(prefilters)和转换器(converters)无法满足你的需求的时候的最后的手段。查看全部
-
其实就是闭包的应用,函数中返回的函数存储在两个变量中供以后直接使用查看全部
-
看index.html,但是觉得这节没有理解透彻,ajax({})和ajax.done.fail.always中函数的执行顺序没有看明白?查看全部
举报
0/150
提交
取消