AnimationSequence.js
资源名称:oa.rar [点击查看]
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:3k
源码类别:
OA系统
开发平台:
Java
- /*
- Copyright (c) 2004-2006, The Dojo Foundation
- All Rights Reserved.
- Licensed under the Academic Free License version 2.1 or above OR the
- modified BSD license. For more information on Dojo licensing, see:
- http://dojotoolkit.org/community/licensing.shtml
- */
- dojo.provide("dojo.animation.AnimationSequence");
- dojo.require("dojo.animation.AnimationEvent");
- dojo.require("dojo.animation.Animation");
- dojo.deprecated("dojo.animation.AnimationSequence is slated for removal in 0.5; use dojo.lfx.* instead.", "0.5");
- dojo.animation.AnimationSequence = function (repeatCount) {
- this._anims = [];
- this.repeatCount = repeatCount || 0;
- };
- dojo.lang.extend(dojo.animation.AnimationSequence, {repeatCount:0, _anims:[], _currAnim:-1, onBegin:null, onEnd:null, onNext:null, handler:null, add:function () {
- for (var i = 0; i < arguments.length; i++) {
- this._anims.push(arguments[i]);
- arguments[i]._animSequence = this;
- }
- }, remove:function (anim) {
- for (var i = 0; i < this._anims.length; i++) {
- if (this._anims[i] == anim) {
- this._anims[i]._animSequence = null;
- this._anims.splice(i, 1);
- break;
- }
- }
- }, removeAll:function () {
- for (var i = 0; i < this._anims.length; i++) {
- this._anims[i]._animSequence = null;
- }
- this._anims = [];
- this._currAnim = -1;
- }, clear:function () {
- this.removeAll();
- }, play:function (gotoStart) {
- if (this._anims.length == 0) {
- return;
- }
- if (gotoStart || !this._anims[this._currAnim]) {
- this._currAnim = 0;
- }
- if (this._anims[this._currAnim]) {
- if (this._currAnim == 0) {
- var e = {type:"begin", animation:this._anims[this._currAnim]};
- if (typeof this.handler == "function") {
- this.handler(e);
- }
- if (typeof this.onBegin == "function") {
- this.onBegin(e);
- }
- }
- this._anims[this._currAnim].play(gotoStart);
- }
- }, pause:function () {
- if (this._anims[this._currAnim]) {
- this._anims[this._currAnim].pause();
- }
- }, playPause:function () {
- if (this._anims.length == 0) {
- return;
- }
- if (this._currAnim == -1) {
- this._currAnim = 0;
- }
- if (this._anims[this._currAnim]) {
- this._anims[this._currAnim].playPause();
- }
- }, stop:function () {
- if (this._anims[this._currAnim]) {
- this._anims[this._currAnim].stop();
- }
- }, status:function () {
- if (this._anims[this._currAnim]) {
- return this._anims[this._currAnim].status();
- } else {
- return "stopped";
- }
- }, _setCurrent:function (anim) {
- for (var i = 0; i < this._anims.length; i++) {
- if (this._anims[i] == anim) {
- this._currAnim = i;
- break;
- }
- }
- }, _playNext:function () {
- if (this._currAnim == -1 || this._anims.length == 0) {
- return;
- }
- this._currAnim++;
- if (this._anims[this._currAnim]) {
- var e = {type:"next", animation:this._anims[this._currAnim]};
- if (typeof this.handler == "function") {
- this.handler(e);
- }
- if (typeof this.onNext == "function") {
- this.onNext(e);
- }
- this._anims[this._currAnim].play(true);
- } else {
- var e = {type:"end", animation:this._anims[this._anims.length - 1]};
- if (typeof this.handler == "function") {
- this.handler(e);
- }
- if (typeof this.onEnd == "function") {
- this.onEnd(e);
- }
- if (this.repeatCount > 0) {
- this._currAnim = 0;
- this.repeatCount--;
- this._anims[this._currAnim].play(true);
- } else {
- if (this.repeatCount == -1) {
- this._currAnim = 0;
- this._anims[this._currAnim].play(true);
- } else {
- this._currAnim = -1;
- }
- }
- }
- }});