84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
认证0级讲师
大概看了一下,感觉还是很棒!
个人愚见,有一些可以优化的地方。
setTimeout的使用在高级浏览器中,requestAnimationFrame效率更高,因此建议去了解一下这个方法的使用,兼容性写法如下:
requestAnimationFrame
; (function(ROOT, struct, undefined) { var lastTime = 0, nextFrame = ROOT.requestAnimationFrame || ROOT.webkitRequestAnimationFrame || ROOT.mozRequestAnimationFrame || ROOT.msRequestAnimationFrame || function(callback) { var currTime = + new Date, delay = Math.max(1000/60, 1000/60 - (currTime - lastTime)); lastTime = currTime + delay; return setTimeout(callback, delay); }, cancelFrame=ROOT.cancelAnimationFrame || ROOT.webkitCancelAnimationFrame || ROOT.webkitCancelRequestAnimationFrame || ROOT.mozCancelRequestAnimationFrame || ROOT.msCancelRequestAnimationFrame || clearTimeout; ...
扩展jQuery插件的方式,建议不要直接使用jQuery的内部方法,因为这样太依赖jquery了,你可以使用原生方法开发出来,然后使用jquery的$.fn.extend让自己的插件变成jquery的插件。
$.fn.extend
那么在以后的使用中,你就可以通过改变很小的地方,让自己的插件变成amd标准,在requirejs中使用,或者轻松转换为angular/react等的插件。
大致写法如下,
并不适用于你的插件,需要你自己下功夫多研究研究
$.fn.extend({ xxx:function(config){ return new Carousel(this,config); } });
运动算法的计算方式,建议去了解一下TWeen,
TWeen
drag方法还可以提炼优化,有点复制,不利于重复调用
绑定事件的回调函数建议不要使用匿名函数
挺好的,但是那个拖拽没理解怎么用?移动端怎么拖拽,拖拽什么位置啊?
大概看了一下,感觉还是很棒!
个人愚见,有一些可以优化的地方。
setTimeout的使用
在高级浏览器中,
requestAnimationFrame
效率更高,因此建议去了解一下这个方法的使用,兼容性写法如下:扩展jQuery插件的方式,建议不要直接使用jQuery的内部方法,因为这样太依赖jquery了,你可以使用原生方法开发出来,然后使用jquery的
$.fn.extend
让自己的插件变成jquery的插件。那么在以后的使用中,你就可以通过改变很小的地方,让自己的插件变成amd标准,在requirejs中使用,或者轻松转换为angular/react等的插件。
大致写法如下,
运动算法的计算方式,建议去了解一下
TWeen
,drag方法还可以提炼优化,有点复制,不利于重复调用
绑定事件的回调函数建议不要使用匿名函数
挺好的,但是那个拖拽没理解怎么用?移动端怎么拖拽,拖拽什么位置啊?