From 0b89f3631adde085ba1d50893d7810a910160c2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E5=AE=AA?= Date: Fri, 3 Jul 2015 17:00:59 +0800 Subject: [PATCH] update animation doc --- components/easing/index.md | 10 -- components/motion/index.md | 6 +- components/pagetransition/index.md | 41 +++++-- components/resInteraction/index.md | 5 +- static/motion.js | 179 ++++++++++++++++++----------- static/motionDemo.css | 9 ++ 6 files changed, 162 insertions(+), 88 deletions(-) delete mode 100644 components/easing/index.md diff --git a/components/easing/index.md b/components/easing/index.md deleted file mode 100644 index 77cd341767..0000000000 --- a/components/easing/index.md +++ /dev/null @@ -1,10 +0,0 @@ -# Easing - -- category: Animation -- chinese: 样式缓动函数 -- order: 3 -- nodemos: true - ---- - -待定 diff --git a/components/motion/index.md b/components/motion/index.md index 71ace50fa6..b1195a5ccc 100644 --- a/components/motion/index.md +++ b/components/motion/index.md @@ -1,8 +1,8 @@ # Motion -- category: CSS -- chinese: 动画 -- order: 3 +- category: Animation +- chinese: 动画样式 +- order: 4 --- diff --git a/components/pagetransition/index.md b/components/pagetransition/index.md index 214188a2b6..6852130b65 100644 --- a/components/pagetransition/index.md +++ b/components/pagetransition/index.md @@ -1,7 +1,7 @@ -# Page transition +# Page turning - category: Animation -- chinese: 单页面转场 +- chinese: 页面转换 - order: 2 - nodemos: true --- @@ -20,21 +20,46 @@ Receding:  与当前页无关的信息元素应采用适当方式移除 Normal: 指那些从转场开始到结束都没有发生变化的信息元素 -· 大页面转场可采用淡入淡出的形式 -· 小的信息元素排布最好根据一定的路径层次依次进场 区分维度层级 来凸显量级  +#### 转场动画 + +大页面转场可采用淡入淡出的形式 + +小的信息元素排布或块状较多的情况下,最好根据一定的路径层次依次进场,区分维度层级,来凸显量级,间隔时间为动画时间的三分之一; + +如不是单页面,页面动画可以为只右进和间隔性出现; + + + +
+ +
+ ####可折叠面板 -对于信息元素内容区域的延伸,显示信息元素和进一步内容对象之间的直接连接。被展开的信息区域内容按照一定的路劲依次进场。信息元素在收起时在视觉上整齐划一。 +对于信息元素内容区域的延伸,显示信息元素和进一步内容对象之间的直接连接。 -####对象展开 +1.被展开的信息区域内容按照一定的路劲依次进场。 + +2.信息元素在收起时照收齐点移动,在视觉上跟随关闭物体。 + + + + +
+ +
-信息元素被扩大发现其隐藏的内容,通过缩放对象的遮罩来显示隐藏的内容。这样可减少页面新的信息元素(Incoming)的增加,直接从页面本身的信息元素来做变形可提高用户对新内容的认知和识别。 ####弹出框动效 + 从一个触发点触发一个弹出框时,弹框从所触发区域弹出,且触发区域视觉上基本保持不变。这样让触发区域和弹出区域有所关联,提高用户对新内容的认知。 - +
+ +
  + + diff --git a/components/resInteraction/index.md b/components/resInteraction/index.md index 1fb72b5204..f8769330b2 100644 --- a/components/resInteraction/index.md +++ b/components/resInteraction/index.md @@ -14,9 +14,8 @@ 按钮上的hover或click效果,随着你的鼠标事件而改变自身或增加元素在按钮上; 以下按钮对组件按钮的修改,只做示例,具体还需看组件; - - - + +

1.按钮表面效果;

diff --git a/static/motion.js b/static/motion.js index 0499028da9..8dc4ec0187 100644 --- a/static/motion.js +++ b/static/motion.js @@ -62,7 +62,7 @@ $(function (){ return d?this.node.attr(o,d):this.node.attr(o) }; n.css=function (o,d){ - return d?this.node.css(o,d):this.node.attr(o); + return d?this.node.css(o,d):this.node.css(o); }; n.children=function (){ return this.node.children() @@ -235,7 +235,10 @@ $(function (){ this.attr({"width":"100%","height":"100%"}); this.defs=new Sprite("defs"); this.addChild(this.defs); + if(id) $(id).append(this.node); + else + return this; }; var filter={ blur : function (x, y) { @@ -332,6 +335,78 @@ $(function (){ return this; }; var T=TweenMax; + var _playBox=function (svg,w,h,startFunc,pauseFunc){ + var playBox=new SVG.Sprite("g"); + playBox.mouseEnabled=true; + + playBox.drawRect({width:"100%",height:"100%",fill:"rgba(0,0,0,.35)"}); + var playBtn=new SVG.Sprite("g"); + playBox.addChild(playBtn); + playBtn.drawCirc({r:30,fill:"rgba(255,255,255,1)"}); + + + var playPoints={ + play:"M-10 -15 L15 0 L-10 15 L-10 0Z M-10 -15 L15 0 L-10 15 L-10 0Z", + pause:"M-12 -15 L-3 -15 L-3 15 L-12 15Z M3 -15 L12 -15 L12 15 L3 15Z" + }; + var shanjiao=playBtn.drawPath({d:playPoints.play,fill:"#999"}); + var bBool=false; + var animate_p3 = function(p,_arr) { + var a_arr=[]; + for(var i=0;i<_arr.length;i++){ + a_arr.push(_arr[i].x,_arr[i].y) + } + for(var i=0;i