上一页 1 2 3 4 5 6 7 8 ··· 10 下一页

2011年7月24日

由Hax建议引发的对QWrap的省思

摘要: QWrap网站出现第一篇《开站鸣谢》的贴子,是在2011-01-28,再过几天恰好半年。上周Hax同学发表一篇《关于国内前端和JS技术发展乱想》的博客,很慷慨的给中国前端、顺带给QWrap大量建议,也让我再次对QWrap深深省思。先回应Hax的一些建议吧:关于“对前端界的四建议:1. 心态开放;2. 融入社区;3. 国际化;4. 专注。”在融入社区与国际化这两点上,QWrap几乎零分。虽说有为自己的失败找理由之嫌,也还是先说一下对QWrap的几个发展阶段:一:核心库阶段: QWrap设计规化, 核心库代码成形,API稳定。 开源 阶段完成标识:正式开源二:试运行阶段: 在JS熟手群有一定的影响 阅读全文

posted @ 2011-07-24 17:32 JKisJK 阅读(1453) 评论(0) 推荐(0) 编辑

2011年6月6日

动画组件(wagang版)之基础篇:跳帧与延时

摘要: 在前一篇随笔里提到动画抽象的可以理解成:“在dur时间内,每隔frameTime时间,播放一次animFun(per)”。例如,要求总时间是3000ms,每隔100ms播放一次animFun(per)。我们会理论算出它应该播放0,1,2,3,...,30一共31帧的动画。但是,事实上,由于浏览器的时间精度,或是其它的cup占用延时,或alert阻塞,或是动画本身的耗时,等等,我们没办法做到既能保证总长,又能保证间隔,又能保证帧数。这时我们就要有所取舍。本动画提供两种选择:要么“保时丢帧”,要么“保帧延时”。“保时丢帧”,默认选择这种策略,它的好处是:能够保证到时间后,动画即刻播完。例如,在第1 阅读全文

posted @ 2011-06-06 18:46 JKisJK 阅读(2440) 评论(1) 推荐(0) 编辑

动画组件(wagang版)之基础篇:时长、进度、帧

摘要: 页面动画是一种很常见的效果,很多同学因它而对js产生兴趣,甚至jquery把它放在核心库里。QWrap的核心库,并没有提供动画组件。wagang版动画组件是依赖QWrap开发出的一个动画组件。它的前身是youa网站使用的animation组件,原作者是Jerry Qu,改装成wagang组件时作了一些修改。文档与示例参见:http://dev.qwrap.com/resource/js/wagang/anim/_examples/index.htmlanim.js是一个复合js,它由四个js组成: document.write('<script type="text/j 阅读全文

posted @ 2011-06-06 17:58 JKisJK 阅读(1847) 评论(0) 推荐(0) 编辑

2011年5月24日

QWrap Selector解密之五:小结

摘要: QWrap Selector解密之五:小结Selector自从被jquery带到js中来,它在js中就一直是一个使用频率最高的东西之一。作为使用者,也没必要去详细了解。不过通过写selector来了解selector与提高自己的js水平,还是一件不错的事。我想,在为数不多的写过selector的同学里,大部分也应该只是练练手而已,而没有刻意追求使用性。前面几篇文章只是粗略的介绍了下selector的写法、querySelector顺序、matchSelector概要、自选器转换,它们是selector中几个容易误解或走岔的地方,了解了这些,selector就会变得简单。再也不必听别人怎么神话化 阅读全文

posted @ 2011-05-24 18:26 JKisJK 阅读(627) 评论(0) 推荐(0) 编辑

QWrap Selector解密之四:自选器转化

摘要: QWrap Selector解密之四:自选器转化在《认识selector写法》中提到,我们把“没有关系符的选择器”叫“自选器”,例如“input#myId[value=hello]:enabled”,我们先看一下自选器里都有些什么内容,如下表:格式意义*通配类型,特征:以*打头E类型选择,特征:以tagName打头#idid选择,特征:“#”号.classNameclassName选择,特征:“.”号[foo][foo="value"][foo~="value"]属性选择,特征:方括号。支持以下比较关系[foo] isTrue|hasValue[foo= 阅读全文

posted @ 2011-05-24 17:12 JKisJK 阅读(1312) 评论(0) 推荐(1) 编辑

2011年5月23日

QWrap Selector解密之三:matchesSelector

摘要: QWrap Selector解密之三:matchesSelectorw3c的selector-api2标准已经提供了matchSelector的相关条文:http://dev.w3.org/2006/webapi/selectors-api2/#matchtestingmodule dom { [Supplemental] interface Element { boolean matchesSelector(in DOMString selectors, in optional Element refElement); boolean matchesSelector(in DOMString 阅读全文

posted @ 2011-05-23 14:29 JKisJK 阅读(2195) 评论(1) 推荐(1) 编辑

2011年5月21日

QWrap Selector解密之二:从左向右,还是从右向左

摘要: QWrap Selector解密之二:从左向右,还是从右向左关于Selector实现,问得最多的问题是:是从左往右,还是从右往左。先看一下它们有什么不同,以Selector.query('div span',document.body)为例。看下表: 从左往右从右往左策略简介先query得到divs,再通过divs来query得到spans先query得到spans,再通过是否有父节点是div来过滤问题思路简单,但除重与排序麻烦过滤麻烦,但不用考虑除重与排序解决方案如果整个selector里只有后代关系符与亲子关系符, 可以在通过divs来query spans之前, 对div 阅读全文

posted @ 2011-05-21 19:59 JKisJK 阅读(1800) 评论(0) 推荐(3) 编辑

QWrap Selector解密之一:认识selector写法

摘要: QWrap使用了一个独立的QW.Selector,而不是借用sizzle。相对于sizzle,QW.Selector摈弃了isXml参数(无情抛弃)与selector群组除重排序(实用意义有限而效率影响太大);提供query方法之外,还提供了filter等与selector有关的其它一些方法,(详见:QW Selector简介);比sizzle更严谨的对待需要回溯的selector(详见:jquery delegate美中不足);体积小于sizzle的70%;性能也相当。两年来虽说没啥大变化,现在看来也不见得比当今的sizzle逊色,所以QWrap在开源时,也决定继续使用它。业界关心Selec 阅读全文

posted @ 2011-05-21 16:38 JKisJK 阅读(2155) 评论(1) 推荐(0) 编辑

2011年5月19日

Ajax组件(wagang版)之无依赖化

摘要: 前文讲到Ajax的功能与代码,本文补叙一下Ajax的无依赖化。基本的ajax.js与业务逻辑无关,它是基于QWrap开发的。但是,QWrap好像是个不知名的框架,对于不用QWrap框架的公司来说,没必要为了用这个js而引入一个所谓的QWrap框架。没问题,我们可以依赖QWrap开发Ajax,而发布出一个无依赖的Ajax。ajax.js的最前面有一段代码: var mix=QW.ObjectH.mix, encodeURIJson=QW.ObjectH.encodeURIJson, encodeURIForm=QW.NodeH.encodeURIForm, CustEvent=QW.CustEv 阅读全文

posted @ 2011-05-19 20:24 JKisJK 阅读(2083) 评论(0) 推荐(2) 编辑

Ajax组件(wagang版)

摘要: 先小白的百科一下吧: Ajax是什么?Ajax自Prototype框架把它普及以来,已经成为前端必须用到的组件,以致不少库把它放在核心代码里,例如jquery、prototype等。QWrap库中,还是把它还原到组件级别。(由于QWrap有灵活的多应用Apps机制,所以,实际中也可以将Ajax包进核心库)这里介绍的是WaGang团队基于QWrap开发出的Ajax组件。。先通过这个Demo页现认识一下吧:Ajax-Demo.html在项目中使用Ajax是ajax/ajax_retouched.js,它是一个复合文件,内容包括: document.write('<script typ 阅读全文

posted @ 2011-05-19 19:22 JKisJK 阅读(2207) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页

导航