Ruby's Louvre

每天学习一点点算法

导航

2011年8月22日 #

requestAnimationFrame 动画接口

摘要: 传统的 javascript 动画无非就是用setInterval函数来实现,这对于简单或对流畅性要求不高时不会有什么问题,但现在随着对用户体验的关注度不断提高,对动画的复杂程度和流畅性都有了更高的要求,传统动画显得捉襟见肘了。 为解决此问题浏览器提供了一个统一帧管理、提供监听帧的API,即requestAnimationFrame 优势: 对于一个侦中对DOM的所有操作,只进行一次Layout和Paint。 如果发生动画的元素被隐藏了,那么就不再去Paint。 使用方法: 调用requestAnimationFrame函数,传递一个callback参数,则在下一个动画帧时... 阅读全文

posted @ 2011-08-22 17:24 司徒正美 阅读(15699) 评论(3) 推荐(4) 编辑

使用requestAnimationFrame更好的实现javascript动画(转)

摘要: 一直以来,JavaScript的动画都是通过定时器和间隔来实现的。虽然使用CSS transitions 和 animations使Web开发实现动画更加方便,但多年来以JavaScript为基础来实现动画却很少有所改变。直到Firefox 4的发布,才带来了第一种对JavaScript动画的改善的方法。但要充分认识改善,这有利于帮助我们了解web动画是如何演变改进的。定时器Timer用于创建动画的第一个模式是使用链式setTimeout()调用。在Netscape 3′s hayday的很长一段时期,开发者都记得一种在网络上随处可见的固定式最新行情状态栏,通常它类似于这样: (fu... 阅读全文

posted @ 2011-08-22 09:10 司徒正美 阅读(11513) 评论(8) 推荐(0) 编辑

我的模块加载系统 v9(附例子下载)

摘要: 模块加载系统是我框架的核心模块的一部分,与domReady彻底地整合在一起。当然核心模块还提供了其他常用方法,如数组化,类型判定,简单的事件绑定...本版本有以下改进: HTML5 History API带来颖新的“改变URL不刷新页面”技术,可能会让我的其核心模块找不到我的动态命名空间(DOC.URL.replace(/(\W|(#.+))/g,'')),因此添加onpopstate事件来同步命名空间。 为装载模块而临时生成的script节点,不会再让opera不再访问readyState属性,防止在iframe注入script中抛"getting readySt. 阅读全文

posted @ 2011-08-22 09:04 司徒正美 阅读(2713) 评论(0) 推荐(0) 编辑