SceneItem

SceneItem

manage Frame Keyframes and play keyframes.

Constructor

new SceneItem(propertiesopt, optionsopt)

Source:
Name Type Description
properties? IObject<any> properties
options? Partial<SceneItemOptions> options
Example
const item = new SceneItem({
	0: {
		display: "none",
	},
	1: {
		display: "block",
		opacity: 0,
	},
	2: {
		opacity: 1,
	}
});

Extends

Methods

append(item)

Source:
Append the item or object at the last time.
Name Type Description
item SceneItem | IObject<any> the scene item or item object
Example
item.append(new SceneItem({
      0: {
          opacity: 0,
      },
      1: {
          opacity: 1,
      }
  }));
  item.append({
      0: {
          opacity: 0,
      },
      1: {
          opacity: 1,
      }
  });
  item.set(item.getDuration(), {
      0: {
          opacity: 0,
      },
      1: {
          opacity: 1,
      }
  });
Returns:
An instance itself

clone() → {SceneItem}

Source:
clone SceneItem.
Example
item.clone();
Returns:
An instance of clone
Type
SceneItem

end() → {Animator}

Source:
Overrides:
end animator
Returns:
An instance itself.
Type
Animator

exportCSS(playConditionopt, durationopt, optionsopt) → {SceneItem}

Source:
Export the CSS of the items to the style.
Name Type Description
playCondition? PlayCondition Add a selector or className to play.
duration? number
options? AnimatorState[]
Returns:
An instance itself
Type
SceneItem

finish() → {Animator}

Source:
Overrides:
end animator
Returns:
An instance itself.
Type
Animator

forEach(callback) → {Keyframes}

Source:
executes a provided function once for each scene item.
Name Type Description
callback (item: Frame, time: number, items: IObject<Frame>) => void Function to execute for each element, taking three arguments
Returns:
An instance itself
Type
Keyframes

get(time, …args) → {Number|String|PropertyObejct}

Source:
Get properties of the sceneItem at that time
Name Type Attributes Description
time Number time
args String | Object <repeatable>
property's name or properties
Example
item.get(0, "a"); // item.getFrame(0).get("a");
  item.get(0, "transform", "translate"); // item.getFrame(0).get("transform", "translate");
Returns:
property value
Type
Number | String | PropertyObejct

getActiveDuration(delayopt) → {number}

Source:
Overrides:
Get the animator's total duration excluding delay
Name Type Description
delay? boolean
Example
animator.getActiveDuration();
Returns:
Total duration excluding delay
Type
number

getDelay() → {number}

Source:
Overrides:
Get a delay for the start of an animation.
Returns:
delay
Type
number

getDirection() → {DirectionType}

Source:
Overrides:
Get whether an animation should be played forwards, backwards or in alternate cycles.
Returns:
direction
Type
DirectionType

getDuration() → {number}

Source:
Overrides:
Get how long an animation should take to complete one cycle.
Returns:
duration
Type
number

getEasing() → {EasingType}

Source:
Overrides:
Get the speed curve of an animation.
Returns:
easing
Type
EasingType

getEasingName() → {string}

Source:
Overrides:
Get the speed curve's name
Returns:
the curve's name.
Type
string

getFillMode() → {FillModeType}

Source:
Overrides:
Get fill mode for the item when the animation is not playing (before it starts, after it ends, or both)
Returns:
fillMode
Type
FillModeType

getFrame(time) → {Frame}

Source:
get sceneItem's frame at that time
Name Type Description
time Number | ... frame's time

getFrame(time, ...names) → {Frame}

Name Type Description
time number | string
...names any[]
Example
const frame = item.getFrame(time);
Returns:
sceneItem's frame at that time
Type
Frame

getId() → {number|string}

Source:
Overrides:
Specifies the unique indicator of the animator
Returns:
the indicator of the item.
Type
number | string

getIterationCount() → {IterationCountType}

Source:
Overrides:
Get the number of times an animation should be played.
Returns:
iterationCount
Type
IterationCountType

getIterationTime() → {number}

Source:
Overrides:
Get the animator's current iteration time
Example
animator.getIterationTime();
Returns:
current iteration time
Type
number

getNowFrame(time, easingopt, isAccurateopt) → {Frame}

Source:
Get frame of the current time
Name Type Description
time Number the current time
easing? function the speed curve of an animation
isAccurate? boolean
Example
let item = new SceneItem({
      0: {
          display: "none",
      },
      1: {
          display: "block",
          opacity: 0,
      },
      2: {
          opacity: 1,
      }
  });
  // opacity: 0.7; display:"block";
  const frame = item.getNowFrame(1.7);
Returns:
frame of the current time
Type
Frame

getPlaySpeed() → {number}

Source:
Overrides:
Get the animator's play speed
Returns:
playSpeed
Type
number

getPlayState() → {PlayStateType}

Source:
Overrides:
Get whether the animation is running or paused.
Returns:
playState
Type
PlayStateType

getTime() → {number}

Source:
Overrides:
Get the animator's current time
Example
animator.getTime();
Returns:
current time
Type
number

getTotalDuration() → {number}

Source:
Overrides:
Get the animator's total duration including delay
Example
animator.getTotalDuration();
Returns:
Total duration
Type
number

hasFrame(time) → {Boolean}

Source:
check if the item has a frame at that time
Name Type Description
time Number frame's time
Example
if (item.hasFrame(10)) {
      // has
  } else {
      // not
  }
Returns:
true: the item has a frame // false: not
Type
Boolean

hasName(args) → {boolean}

Source:
Check if keyframes has propery's name
Name Type Description
args string[] property's time
Example
item.hasName(["transform", "translate"]); // true or not
Returns:
true: if has property, false: not
Type
boolean

isDelay() → {boolean}

Source:
Overrides:
Check if the current state of animator is delayed.
Returns:
check delay state
Type
boolean

isEnded() → {boolean}

Source:
Overrides:
Check if the animator has reached the end.
Example
animator.isEnded(); // true or false
Returns:
ended
Type
boolean

isPaused() → {boolean}

Source:
Overrides:
Check if the animator is paused:
Example
animator.isPaused(); // true or false
Returns:
paused
Type
boolean

mergeFrame(time, frame) → {SceneItem}

Source:
merge frame of the previous time at the next time.
Name Type Description
time number | string The time of the frame to merge
frame Frame The target frame
Example
// getFrame(1) contains getFrame(0)
  item.merge(0, 1);
Returns:
An instance itself
Type
SceneItem

newFrame(time) → {Frame}

Source:
Create and add a frame to the sceneItem at that time
Name Type Description
time Number frame's time
Example
item.newFrame(time);
Returns:
Created frame.
Type
Frame

off(nameopt, callbackopt) → {EventTrigger}

Source:
Overrides:
Dettach an event handler function for one or more events to target
Name Type Description
name? string event's name
callback? CallbackType function to execute when the event is triggered.
Example
const callback = function() {
      console.log("animate");
  };
  target.on("animate", callback);

  target.off("animate", callback);
  target.off("animate");
Returns:
An Instance itself.
Type
EventTrigger

on(name, callbackopt) → {EventTrigger}

Source:
Overrides:
Attach an event handler function for one or more events to target
Name Type Description
name string | EventParameter event's name
callback? CallbackType | CallbackType[] function to execute when the event is triggered.
Example
target.on("animate", function() {
      console.log("animate");
  });

  target.trigger("animate");
Returns:
An Instance itself.
Type
EventTrigger

pause() → {Animator}

Source:
Overrides:
pause animator
Returns:
An instance itself.
Type
Animator

play(toTimeopt) → {Animator}

Source:
Overrides:
play animator
Name Type Description
toTime? number
Returns:
An instance itself.
Type
Animator

playCSS(isExportCSSopt, playClassNameopt, propertiesopt)

Source:
See:
Play using the css animation and keyframes.
Name Type Default Description
isExportCSS? true Check if you want to export css.
playClassName? string "startAnimation" Add a class name to play.
properties? object {} The shorthand properties for six of the animation properties.
Example
item.playCSS();
  item.playCSS(false, "startAnimation", {
      direction: "reverse",
      fillMode: "forwards",
  });

prepend(item)

Source:
Push the front frames for the time and prepend the scene item or item object.
Name Type Description
item SceneItem | IObject<any> the scene item or item object
Returns:
An instance itself

remove(time, propertiesopt) → {SceneItem}

Source:
remove properties to the sceneItem at that time
Name Type Description
time Number | ... time
properties? String | Object property names or values

remove(time, ...args) → {this}

Name Type Description
time string | number
...args any[]
Example
item.remove(0, "a");
Returns:
An instance itself
Type
SceneItem

removeFrame(time) → {SceneItem}

Source:
remove sceneItem's frame at that time
Name Type Description
time number | string frame's time

removeFrame(time, ...names) → {this}

Name Type Description
time number | string
...names any[]
Example
item.removeFrame(time);
Returns:
An instance itself
Type
SceneItem

set(time, propertiesopt) → {SceneItem}

Source:
Set properties to the sceneItem at that time
Name Type Description
time Number time
properties? String | Object property names or values
Example
item.set(0, "a", "b") // item.getFrame(0).set("a", "b")
  console.log(item.get(0, "a")); // "b"
Returns:
An instance itself
Type
SceneItem

setCSS(properties, properties) → {SceneItem}

Source:
add css styles of items's element to the frame at that time.
Name Type Description
properties Array elements to synchronize item's keyframes.
properties string[]
Example
item.setElement(document.querySelector("#id.class"));
  item.setCSS(0, ["opacity"]);
  item.setCSS(0, ["opacity", "width", "height"]);
Returns:
An instance itself
Type
SceneItem

setDelay(delay) → {Animator}

Source:
Overrides:
Set a delay for the start of an animation.
Name Type Description
delay number delay
Returns:
An instance itself.
Type
Animator

setDirection(direction) → {Animator}

Source:
Overrides:
Set whether an animation should be played forwards, backwards or in alternate cycles.
Name Type Description
direction DirectionType direction
Returns:
An instance itself.
Type
Animator

setDuration(duration) → {Animator}

Source:
Overrides:
Set how long an animation should take to complete one cycle.
Name Type Description
duration number duration
Returns:
An instance itself.
Type
Animator

setEasing(curverArray) → {Animator}

Source:
Overrides:
set animator's easing.
Name Type Description
curverArray string | number[] | EasingFunction The speed curve of an animation.
Example
animator.({
      delay: 2,
      diretion: "alternate",
      duration: 2,
      fillMode: "forwards",
      iterationCount: 3,
      easing: Scene.easing.EASE,
  });
Returns:
An instance itself.
Type
Animator

setElement(target) → {SceneItem}

Source:
Specifies an element to synchronize item's keyframes.
Name Type Description
target boolean | string | AnimateElement | IArrayFormat<AnimateElement> elements to synchronize item's keyframes.
Make sure that you have peusdo.
Example
item.setElement(document.querySelector("#id.class"));
  item.setElement(document.querySelectorAll(".class"));
Returns:
An instance itself
Type
SceneItem

setFillMode(fillMode) → {Animator}

Source:
Overrides:
Set fill mode for the item when the animation is not playing (before it starts, after it ends, or both)
Name Type Description
fillMode FillModeType fillMode
Returns:
An instance itself.
Type
Animator

setFrame(time, frame) → {SceneItem}

Source:
Add a frame to the sceneItem at that time
Name Type Description
time Number frame's time
frame Frame
Example
item.setFrame(time, frame);
Returns:
An instance itself
Type
SceneItem

setId() → {Animator}

Source:
Overrides:
Specifies the unique indicator of the animator
Type Description
number | string String or number of id to be set in the animator
Returns:
An instance itself.
Type
Animator

setIterationCount(iterationCount) → {Animator}

Source:
Overrides:
Set the number of times an animation should be played.
Name Type Description
iterationCount IterationCountType iterationCount
Returns:
An instance itself.
Type
Animator

setOptions(optionsopt) → {Animator}

Source:
Overrides:
See:
set animator's options.
Name Type Default Description
options? Partial<AnimatorOptions> {} animator's options
Example
animator.({
      delay: 2,
      diretion: "alternate",
      duration: 2,
      fillMode: "forwards",
      iterationCount: 3,
      easing: Scene.eaasing.EASE,
  });
Returns:
An instance itself.
Type
Animator

setPlaySpeed(playSpeed) → {Animator}

Source:
Overrides:
Set the animator's play speed
Name Type Description
playSpeed number playSpeed
Returns:
An instance itself.
Type
Animator

setPlayState(playState) → {Animator}

Source:
Overrides:
Set whether the animation is running or paused.
Name Type Description
playState PlayStateType playState
Returns:
An instance itself.
Type
Animator

setSelector(selectors) → {SceneItem}

Source:
Specifies an element to synchronize items' keyframes.
Name Type Description
selectors string Selectors to find elements in items.
Example
item.setSelector("#id.class");
Returns:
An instance itself
Type
SceneItem

setTime(time, isTickopt) → {Animator}

Source:
Overrides:
set currentTime
Name Type Description
time Number | String currentTime
isTick? boolean
Example
animator.setTime("from"); // 0
  animator.setTime("to"); // 100%
  animator.setTime("50%");
  animator.setTime(10);
  animator.getTime() // 10
Returns:
An instance itself.
Type
Animator

size() → {Number}

Source:
get size of list
Returns:
length of list
Type
Number

toObject(isStartZeroopt, startTimeopt) → {IObject<Frame>}

Source:
Get the frames in the item in object form.
Name Type Default Description
isStartZero? true
startTime? 0
Example
item.toObject();
 // {0: {display: "none"}, 1: {display: "block"}}
Returns:
Type
IObject<Frame>

trigger(name, ...data) → {EventTrigger}

Source:
Overrides:
execute event handler
Name Type Description
name string event's name
...data any[] event handler's additional parameter
Example
target.on("animate", function(a1, a2) {
      console.log("animate", a1, a2);
  });

  target.trigger("animate", [1, 2]); // log => "animate", 1, 2
Returns:
An Instance itself.
Type
EventTrigger

unshift(time)

Source:
Push out the amount of time.
Name Type Description
time number time to push
Example
item.get(0); // frame 0
   item.unshift(3);
   item.get(3) // frame 0
Returns:

update() → {SceneItem}

Source:
update property names used in frames.
Example
item.update();
Returns:
An instance itself
Type
SceneItem

Events

animate

Source:
This event is fired when timeupdate and animate.
Name Type Description
param.currentTime Number The total time that the animator is running.
param.time Number The iteration time during duration that the animator is running.
param.frame Frame frame of that time.

ended

Source:
Overrides:
This event is fired when animator is ended.

iteration

Source:
Overrides:
The event is fired when an iteration of an animation ends.
Name Type Description
param Object The object of data to be sent to an event.
Properties
Name Type Description
currentTime Number The total time that the animator is running.
iterationCount Number The iteration count that the animator is running.

paused

Source:
Overrides:
This event is fired when animator is paused.

play

Source:
Overrides:
This event is fired when play animator.

timeupdate

Source:
Overrides:
This event is fired when the animator updates the time.
Name Type Description
param Object The object of data to be sent to an event.
Properties
Name Type Description
currentTime Number The total time that the animator is running.
time Number The iteration time during duration that the animator is running.
iterationCount Number The iteration count that the animator is running.