Constructor
new SceneItem(propertiesopt, optionsopt)
Name | Type | Description |
---|---|---|
properties ? |
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)
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
clear() → {SceneItem}
Clear All Frames
Returns:
An instance itself
- Type
- SceneItem
clone() → {SceneItem}
clone SceneItem.
Example
item.clone();
Returns:
An instance of clone
- Type
- SceneItem
emit(eventName, paramopt) → {boolean}
- Source:
- Overrides:
Fires an event to call listeners.
Name | Type | Default | Description |
---|---|---|---|
eventName |
string | ... | Event name | |
param ? |
TargetParam<any> | ... |
{}
|
Event parameter |
emit<Name extends keyof Events, Param = Events[Name]>(eventName) → {boolean}
Name | Type | Description |
---|---|---|
eventName |
extends Param ? Name : never |
emit<Name extends keyof Events, Param = Events[Name]>(eventName, param) → {boolean}
Name | Type | Description |
---|---|---|
eventName |
Name | |
param |
TargetParam<Param> |
Example
import EventEmitter from "@scena/event-emitter";
const emitter = new EventEmitter();
emitter.on("a", e => {
});
emitter.emit("a", {
a: 1,
});
Returns:
If false, stop the event.
- Type
- boolean
end() → {Animator}
- Source:
- Overrides:
end animator
Returns:
An instance itself.
- Type
- Animator
exportCSS(playConditionopt, durationopt, optionsopt) → {SceneItem}
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}
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}
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
getComputedFrame(time, parentEasingopt, isAccurateopt) → {Frame}
Get the computed frame corresponding to the time.
Name | Type | Description |
---|---|---|
time |
number | |
parentEasing ? |
EasingType | |
isAccurate ? |
boolean |
Returns:
- Type
- Frame
getCurrentFrame(needUpdateopt, parentEasingopt) → {Frame}
Get the current computed frame.
(If needUpdate is true, get a new computed frame, not the temp that has already been saved.)
Name | Type | Description |
---|---|---|
needUpdate ? |
boolean | |
parentEasing ? |
EasingType |
Returns:
- Type
- Frame
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
getElements() → {AnimateElement[]}
Get the elements connected to SceneItem.
Returns:
- Type
- AnimateElement[]
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}
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}
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
getOrderObject()
get properties order object
Example
console.log(item.getOrderObject());
getOrders(names) → {NameType[] | undefined}
get properties orders
Name | Type | Description |
---|---|---|
names |
NameType[] | property names |
Example
item.getOrders(["display"]) // => []
item.getOrders(["transform"]) // => ["translate", "scale"]
Returns:
- Type
- NameType[] | undefined
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}
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}
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}
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}
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(eventNameopt, listeneropt) → {this}
- Source:
- Overrides:
Remove listeners registered in the event target.
Name | Type | Description |
---|---|---|
eventName ? |
string | object | ... | Name of the event to be removed |
listener ? |
EventListener<Events[any], this> | ... | listener function of the event to be removed |
off<Name extends keyof Events, Param = Events[Name]>(eventName, listener) → {this}
Name | Type | Description |
---|---|---|
eventName ? |
Name | |
listener ? |
EventListener<Param, this> |
off(events) → {this}
Name | Type | Description |
---|---|---|
events |
EventHash<Events, this> |
Example
import EventEmitter from "@scena/event-emitter";
cosnt emitter = new EventEmitter();
// Remove all listeners.
emitter.off();
// Remove all listeners in "A" event.
emitter.off("a");
// Remove "listener" listener in "a" event.
emitter.off("a", listener);
Returns:
- Type
- this
on(eventName, listeneropt) → {this}
- Source:
- Overrides:
Add a listener to the registered event.
Name | Type | Description |
---|---|---|
eventName |
string | object | ... | Name of the event to be added |
listener ? |
EventListener<Events[any], this> | ... | listener function of the event to be added |
on<Name extends keyof Events, Param = Events[Name]>(eventName, listener) → {this}
Name | Type | Description |
---|---|---|
eventName |
Name | |
listener |
EventListener<Param, this> |
on(events) → {this}
Name | Type | Description |
---|---|---|
events |
EventHash<Events, this> |
Example
import EventEmitter from "@scena/event-emitter";
cosnt emitter = new EventEmitter();
// Add listener in "a" event
emitter.on("a", () => {
});
// Add listeners
emitter.on({
a: () => {},
b: () => {},
});
Returns:
- Type
- this
once<Name extends keyof Events & string, Param = Events[Name]>(eventName, listeneropt) → {Promise<OnEvent<Param, this>>}
- Source:
- Overrides:
Add a disposable listener and Use promise to the registered event.
Name | Type | Description |
---|---|---|
eventName |
Name | Name of the event to be added |
listener ? |
EventListener<Param, this> | disposable listener function of the event to be added |
Example
import EventEmitter from "@scena/event-emitter";
cosnt emitter = new EventEmitter();
// Add a disposable listener in "a" event
emitter.once("a", () => {
});
// Use Promise
emitter.once("a").then(e => {
});
Returns:
- Type
- Promise<OnEvent<Param, this>>
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)
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}
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}
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}
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(time, propertiesopt) → {SceneItem}
add css styles of items's element to the frame at that time.
Name | Type | Default | Description |
---|---|---|---|
time |
number | Time to synchronize and set css | |
properties ? |
string[] |
[]
|
elements to synchronize item's keyframes. |
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}
Specifies an element to synchronize item's keyframes.
Name | Type | Description |
---|---|---|
target |
SceneItemSelectorType | 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
setElements(target) → {SceneItem}
Specifies an element to synchronize item's keyframes.
Name | Type | Description |
---|---|---|
target |
SceneItemSelectorType | 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}
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
setOrderObject(obj)
set properties orders object
Name | Type | Description |
---|---|---|
obj |
IObject<NameType[]> | properties orders object |
Example
item.setOrderObject({
"": ["transform"],
"transform": ["scale", "tralsate"],
});
setOrders(names, orders) → {NameType[]}
set properties orders
Name | Type | Description |
---|---|---|
names |
NameType[] | property names |
orders |
NameType[] | orders |
Example
item.getOrders(["transform"]) // => ["translate", "scale"]
item.setOrders(["transform"], ["scale", "tralsate"])
Returns:
- Type
- NameType[]
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}
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, isParentopt, execopt) → {Animator}
- Source:
- Overrides:
set currentTime
Name | Type | Description |
---|---|---|
time |
Number | String | currentTime |
isTick ? |
boolean | |
isParent ? |
boolean | |
exec ? |
() => void |
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}
get size of list
Returns:
length of list
- Type
- Number
toObject(isStartZeroopt) → {IObject<Frame>}
Get the frames in the item in object form.
Name | Type | Default | Description |
---|---|---|---|
isStartZero ? |
true
|
Example
item.toObject();
// {0: {display: "none"}, 1: {display: "block"}}
Returns:
trigger<Name extends keyof Events>(eventName, paramopt) → {boolean}
- Source:
- Overrides:
Fires an event to call listeners.
Name | Type | Default | Description |
---|---|---|---|
eventName |
Name | ... | Event name | |
param ? |
TargetParam<any> | ... |
{}
|
Event parameter |
trigger<Name extends keyof Events, Param = Events[Name]>(eventName) → {boolean}
Name | Type | Description |
---|---|---|
eventName |
extends TargetParam<Param> ? Name : never |
trigger<Name extends keyof Events, Param = Events[Name]>(eventName, param) → {boolean}
Name | Type | Description |
---|---|---|
eventName |
Name | |
param |
TargetParam<Param> |
Example
import EventEmitter from "@scena/event-emitter";
const emitter = new EventEmitter();
emitter.on("a", e => {
});
emitter.emit("a", {
a: 1,
});
Returns:
If false, stop the event.
- Type
- boolean
unshift(time)
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
update() → {SceneItem}
update property names used in frames.
Example
item.update();
Returns:
An instance itself
- Type
- SceneItem
Events
animate
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
|
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
|