SceneItem

SceneItem

manage Frame Keyframes and play keyframes.

Constructor

new SceneItem(propertiesopt, optionsopt)

Source:
Name Type Description
properties? ObjectInterface<any> properties
options? StateInterface 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 | ObjectInterface<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(optionsopt) → {SceneItem}

Source:
clone SceneItem.
Name Type Default Description
options? StateInterface {} animator options
Example
item.clone();
Returns:
An instance of clone
Type
SceneItem

copyFrame(fromTime, toTime) → {SceneItem}

Source:
Copy frame of the previous time at the next time.
Name Type Description
fromTime number | string | object the previous time
toTime number the next time
Example
// getFrame(0) equal getFrame(1)
item.copyFrame(0, 1);
Returns:
An instance itself
Type
SceneItem

end() → {Animator}

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

finish() → {Animator}

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

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() → {number}

Source:
Overrides:
Get the animator's total duration excluding delay
Example
animator.getTotalDuration();
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
Example
const frame = item.getFrame(time);
Returns:
sceneItem's frame at that time
Type
Frame

getId() → {String}

Source:
Specifies the unique indicator of the item.
Example
const item = scene.newItem("item");
console.log(item.getId()); // item
Returns:
the indicator of the item.
Type
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) → {Frame}

Source:
Get frame of the current time
Name Type Description
time Number the current time
easing? function the speed curve of an animation
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

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(fromTime, toTime) → {SceneItem}

Source:
merge frame of the previous time at the next time.
Name Type Description
fromTime number | string | object the previous time
toTime number | string the next time
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 | EventParamterType 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() → {Animator}

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

playCSS(exportCSSopt, propertiesopt, properties.durationopt, properties.fillModeopt, properties.iterationCountopt, properties.easingopt, properties.delayopt, properties.directionopt)

Source:
See:
Play using the css animation and keyframes.
Name Type Default Description
exportCSS? boolean true Check if you want to export css.
properties? Object {} The shorthand properties for six of the animation properties.
Properties
Name Type Description
duration? Object The duration property defines how long an animation should take to complete one cycle.
fillMode? Object The fillMode property specifies a style for the element when the animation is not playing (before it starts, after it ends, or both).
iterationCount? Object The iterationCount property specifies the number of times an animation should be played.
easing? String The easing(timing-function) specifies the speed curve of an animation.
delay? Object The delay property specifies a delay for the start of an animation.
direction? Object The direction property defines whether an animation should be played forwards, backwards or in alternate cycles.
Example
item.playCSS();
item.playCSS(false, {
	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 | ObjectInterface<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
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 frame's time
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 [number, number, number, number] | EasingFunctionInterface 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(elements) → {SceneItem}

Source:
Specifies an element to synchronize item's keyframes.
Name Type Description
elements Element | Array | string elements to synchronize item's keyframes.
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(idopt) → {SceneItem}

Source:
set the unique indicator of the item.
Name Type Description
id? String the indicator of the item.
Example
const item = new SceneItem();

item.setId("item");
console.log(item.getId()); // item
Returns:
An instance itself
Type
SceneItem

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? StateInterface {} 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

toCSS(durationopt, optionsopt)

Source:
Specifies an css text that coverted the keyframes of the item.
Name Type Default Description
duration? Array this.getDuration() elements to synchronize item's keyframes.
options? Array {} parent options to unify options of items.
Example
item.setCSS(0, ["opacity"]);
item.setCSS(0, ["opacity", "width", "height"]);

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

update() → {SceneItem}

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

updateFrame(frameopt) → {SceneItem}

Source:
update property names used in frame.
Name Type Description
frame? Frame frame of that time.
Example
item.updateFrame(time, this.get(time));
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.