leon的后花园


  • 首页

  • 热门

  • 前端

  • 安全

  • 思考

  • 归档

  • 标签

写在初始的话

发表于 2015-03-10   |   分类于 思考   |  

#关于blog
该blog是纯静态的页面,挂载在github pages上面的,为什么要采用这样的方式以及如何搭建一个这样的博客可以参看如何搭建一个独立博客,对于我个人而言,可能更多的是懒,其实我在阿里云买了服务器闲置了你敢信。。。,这种静态的blog可以省去我很多时间,而且一个简单的blog的确是不需要动态服务器的,我想的是实在需要可以用我的阿里云服务器提供api,交给js去实现动态就行了~~~

#关于网站风格
网站是由hexo 快速搭建起来的,为什么没用jetty,因为hexo是node项目,对于热爱前端的我来说才是真爱。主题是我基于next 修改的。(等修改完善了我会将自己的分支放出来)

#我的个人看法
其实要搭一个个人站起先我是拒绝的,因为简单的网站搭建早就折腾过,并不能带来多少经验的积累,而平时生活和学习的记录大都是放在印象笔记或者以前的csdn上面,一直觉得没必要公开,而我身边折腾个人站的童鞋大部分都是为了应付面试和装13用,我是非常反感的,至少从我的经历来看,大部分东西写给自己看看就行了,放出来丢人吗?

阅读全文 »

zepto 源码

发表于 2014-10-30   |   分类于 前端   |  

$ = Zepto;
$是一个方法,方法上面可以挂很多私有属性,比如 ajax这种,这些私有属性可以通过 $.xxx 使用,对应zepto对象 $().xx不可访问。
$() 会执行 $.zepto.init 方法,这个方法返回的是 $.zepto.Z() , 而Z是zepto的一个私有构造函数, Z() 就能返回一个实例,也就是 zepto实例,所以$() 会返回不同的Z实例。实例上面也有方法,共享的方法当然是挂在Z.prototype上面,zepto.Z.prototype = Z.prototype = $.fn 可以看出来,操作 $.fn其实就是操作 Z的prototype。可以通过它来拓展 zepto。

zepto的选择器由于不用兼容ie6,多半采用的是dom level3的querySelectorAll, 除了对 id和tag选择器做了优化直接使用 getElementById 和 getElementsByTagName。

zepto事件,delegate、live等都是on的语法糖,on方法主要在 zepto.event里面的 add方法中,其中会包裹下回调方法,如果是dom节点,会直接调用addEventListener来绑定事件,比如使用return false可以直接实现 e.preventDefault(), e.stopPropagation()等,还会模拟mouseenter和mouseleave,同时会把element和事件回调缓存起来。
trigger,如果是element,有新的 dispatchEvent 方法,zepto会模拟一个event对象,然后触发事件,否则就会去之前缓存的 handler中找对应的事件来触发。

zepto ajax没啥说的,主要是 if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304 || (xhr.status == 0 && protocol == 'file:')) {判断成功的方法是这些。然后就是对于jsonp的eval,这么使用的 if (dataType == 'script') (1,eval)(result) 为什么要这么用,有一个参考链接介绍全局 eval和innter eval的区别
http://perfectionkills.com/global-eval-what-are-the-options/

zepto touch,通过 touchstart touchend 和touchmove来模拟一些事件, >750ms longTap, 还有tap、swipe等。

zepto animate主要通过transition和css3 animation来实现

1…56
leon.lee

leon.lee

不谈兴趣,不谈情怀,计算机就是我的职业,像一个专业的人去思考,去coding

27 日志
3 分类
13 标签
GitHub 知乎
© 2016 leon.lee
由 Hexo 强力驱动
主题 - NexT.Pisces