Fork me on GitHub
  2013年6月27日
摘要: 选择器是CSS的核心,从最初的元素、class/id选择器,演进到伪元素、伪类,以及CSS3中提供的更丰富的选择器,定位页面上的任意元素开始变得愈发的简单。1、元素选择器这是最基本的CSS选择器,HTML文档中的元素本身就是一个选择器:p {line-height:1.5em; margin-bottom:1em;}2、关系选择器E F:后代选择器,该选择器定位元素E的后代中所有元素F:ul li {margin-bottom:0.5em;}E > F:子选择器,该选择器定位元素E的直接子元素中的所有元素F,它将忽略任何进一步的嵌套:ul > li {list-style:none 阅读全文
posted @ 2013-06-27 16:23 【艾伦】 阅读(578) 评论(2) 推荐(2) 编辑
摘要: HTML5 中工作线程(Web Worker)简介 至 2008 年 W3C 制定出第一个 HTML5 草案开始,HTML5 承载了越来越多崭新的特性和功能。它不但强化了 Web 系统或网页的表现性能,而且还增加了对本地数据库等 Web 应用功能的支持。其中,最重要的一个便是对多线程的支持。在 HTML5 中提出了工作线程(Web Worker)的概念,并且规范出 Web Worker 的三大主要... 阅读全文
posted @ 2013-06-27 12:42 【艾伦】 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 使用setInterval调度 1: var fireCount = 0; 2: var start = new Date; 3: var timer = setInterval(function() { 4: if (new Date - start > 1000) { 5: 6: clearIn... 阅读全文
posted @ 2013-06-27 12:40 【艾伦】 阅读(653) 评论(0) 推荐(2) 编辑
  2013年6月26日
摘要: 为了分析Bootstrap源码,所以的先把CSS选择器相关的东东给巩固好废话就不多说了CSS 2.1 selectors, Part 1计算指定选择器的优先级:重新认识CSS的权重通配选择符的权值 0,0,0,0标签的权值为 0,0,0,1类的权值为 0,0,1,0属性选择的权值为 0,0,1,1 0,0,1,0伪类选择的权值为 0,0,1,0伪对象选择的权值为 0,0,0,1ID的权值为 0,1,0,0important的权值为最高 1,0,0,0使用的规则也很简单,就是 选择器的权值加到一起,大的优先;如果权值相同,后定义的优先 。虽然很简单,但如果书写的时候没有注意,很容易就会导致CSS 阅读全文
posted @ 2013-06-26 16:28 【艾伦】 阅读(22089) 评论(5) 推荐(12) 编辑
  2013年6月22日
摘要: 对框架的挑选 Ember.js、Backbone.js、Knockout.js、Spine.js、Batman.js , Angular.js1. 轻量级的应用选择哪一个会比较好?2. 那一个比较简单,容易上手3. 哪一个开发周期最短?具体可以看 (英) Rich JavaScript Applications – the Seven Frameworks Web前端开发:为何选择MVVM而非MVC由于工作关系~一直没时间细细研究下这些框架的源码~ 早期就看过Backbone.js与EXT4的MVC最近开始研究业界小有名气司徒正美的mvvm框架avalon 为什么放着Angular,Ember 阅读全文
posted @ 2013-06-22 10:52 【艾伦】 阅读(7070) 评论(4) 推荐(7) 编辑
  2013年6月21日
摘要: 原文:http://justjavac.com/javascript/2013/04/04/understanding-delete-in-javascript.html下面翻译其中的主要部分。书中声称“函数就像一个普通的变量那样——可以拷贝到不同变量,甚至被删除”并附上了下面的代码片段作为说明:>>> var sum = function(a, b) {return a+b;};>>> var add = sum;>>> delete sum;true>>> typeof sum;"undefined" 阅读全文
posted @ 2013-06-21 20:00 【艾伦】 阅读(4500) 评论(4) 推荐(3) 编辑
摘要: 转:http://www.neoease.com/tutorials/z-index/不设 z-index 属性单层节点双层节点多层节点 阅读全文
posted @ 2013-06-21 19:19 【艾伦】 阅读(562) 评论(1) 推荐(1) 编辑
摘要: Webkit CSS properties-webkit-animation-webkit-animation-delay-webkit-animation-direction-webkit-animation-duration-webkit-animation-fill-mode-webkit-animation-iteration-count-webkit-animation-name-webkit-animation-play-state-webkit-animation-timing-function-webkit-appearance-webkit-backface-visibili 阅读全文
posted @ 2013-06-21 13:44 【艾伦】 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 接上一章 ViewModelmodelFactory工厂是如何加工用户定义的VM?附源码洋洋洒洒100多行内部是魔幻般的实现 1: function modelFactory(scope) { 2: var skipArray = scope.$skipArray, //要忽略监控的属性名列表 3: model = {}, 4: Descriptions = {}, //内部用于转换的对象 5: json = {}, 6: ... 阅读全文
posted @ 2013-06-21 13:20 【艾伦】 阅读(3802) 评论(2) 推荐(6) 编辑
摘要: Ext这个东东太大了,能看完就已经很不错了,完整的源码分析就不敢说了,大概就涉及了类管理,事件管理,数据结构缓存架构,UI组件核心机制,MVC这几个方面,只是挑着源码看的,没有实际完整的使用.公司的框架我是借鉴了EXT的结构..站在巨人的肩上我们可以走的更远,内部的结构我已经改动了,组件的形式去架构不适合咱公司~ 如图~ 昨天遇到个问题在mixins(向创建的类中要掺进其它类的信息)多个的时候就出问题了~ 顺便就发一下我的源码分析吧.当然是个人角度,有错误欢迎指出.发几本EXT的书,以前分析代码的时候看过了,感觉还行EXT3.4 到 4.0改动真心很大…以前是用3.4玩的,后来看到4.0又.. 阅读全文
posted @ 2013-06-21 09:41 【艾伦】 阅读(9058) 评论(1) 推荐(7) 编辑
  2013年6月20日
摘要: 存在即是道理,iscroll会诞生,主要是因为无论是在iphone、ipod、android 或是更早前的移动webkit都没有提供一种原生的方式来支持在一个固定高度的容器内滚动内容,这个不幸的规则导致所有web-app要模拟成app的样子时,只能由一个绝对定位的header 或是footer再加上一个可以内容的滚动的中间区域组成。幸运的是移动webkit提供了一种强大的硬件加速的CSS属性,这个属性可以用来模拟这个缺失的功能,Iscroll从这里开始了前进之路,但是没有不带刺的玫瑰。让内容滚动像原生方式一般比想象中要难兼容万恶的IE6一样,作者希望通过写一个控件,让所有web浏览器支持这种滚 阅读全文
posted @ 2013-06-20 23:45 【艾伦】 阅读(14532) 评论(9) 推荐(10) 编辑
摘要: 原:http://www.iunbug.com/archives/2012/09/19/411.html 已经有不少前端同行抱怨iScroll4的各种问题,我个人并不赞同将这些问题归咎于iScroll4,因为iScroll4进无论是touch事件的捕获,还是使用transform来处理滚动,以及将cubic-bezier应用到transition上实现高效的平滑滚动,这些原理我们都是已知的。更多原理细节可以参看[译]手把手教你编写iOS上Mobile Web App实现Fixed Position和模拟滚动 一文。此文则来解释另一个被很多人误解为iScroll4 造成的问题,那就是内容多的.. 阅读全文
posted @ 2013-06-20 23:38 【艾伦】 阅读(3597) 评论(0) 推荐(4) 编辑
摘要: 目前,随着Google的Android手机和苹果的iphone手机的逐渐普及,越来越多开发者加入到移动应用开发的大军当中。其中,Android应用是基于Java语言基础上进行开发的,而苹果公司的iphone则是基于C语言开发的。如果开发者编写的应用需要同时在不同的移动设备上运行的话,则必须要掌握多种开发语言。而为了进一步简化移动应用的编程,Nitobi公司推出了一套开源的移动应用解决方案PhoneGap, 网址 http://phonegap.com/ 说白了就是一个用基于HTML,CSS和JavaScript的,做出类似原生态代码开发的软件应用, 36Kr上提到的http://www.36. 阅读全文
posted @ 2013-06-20 21:04 【艾伦】 阅读(1430) 评论(6) 推荐(1) 编辑
摘要: 废话说了大几篇,我们开始来点干货了~ ViewModel的内部机制 在MVVM中,数据是核心。而jQuery则以DOM为核心。而DOM只是HTML在JS的世界的抽象,是一个很易变的东西。因此如果业务代码遍历选择器表达式会非常难维护。但不可否认,jQuery是操作DOM的王者,让我们操作DOM顺手拈来。但如果不让你操作DOM,不是更好吗?就像jQuery不让你用getElementById,getElementsByTagName, querySelecterAll,大家都不知道里面有多少坑,短短几个字母$(expr)是背后sizzle选择器引擎1700行的实现!!!!jQuery其实是在用户代 阅读全文
posted @ 2013-06-20 09:31 【艾伦】 阅读(5944) 评论(3) 推荐(8) 编辑
  2013年6月19日
摘要: 官网提供架构图单看这个图呢,还木有说明,感觉有点蛋疼,作者的抽象度太高了,还好在前面已经大概分析过了执行流程如图左边是View视图,我们就理解html结构,换句话就是说用户能看到的界面,渲染页面,绑定事件,切换类名,什么脏活都揽右边是ViewModel 视图模式,就是开发者通过avalon.define("xxx", function(vm){vm.firstName = "模型"})既然是MVVM 那么还有个M跑哪里去了,M在MVVM定义中,M只是一个过客,被VM给再次包装,它与其他表示业务状态的东西融入VM(ViewModel)中,一个普通的JS对象 阅读全文
posted @ 2013-06-19 09:50 【艾伦】 阅读(5776) 评论(3) 推荐(6) 编辑