1.5.2 • Published 5 years ago
skryu-timeline v1.5.2
Skryu-Timeline
A timeline management project.
组件内引用了 Promise,如果有必要,请自行引入 polyfill。
Promise is referenced in the component, please import polyfill yourself if necessary.
Demo
npm run exampleQuick start
<main class="main">
<div class="main-bg"></div>
<section class="main-content">
<section class="main-section">
<h1 class="section-title">TIMELINE DEMO</h1>
<p class="section-desc">AN EXPERIMENT BY PICASSO</p>
<button class="section-btn">NEXT</button>
</section>
</section>
</main>
<script>
const mainContent = document.querySelector('.main-content');
const section = document.querySelector('.main-section');
const btn = document.querySelector('.section-btn');
const timeline = new Timeline();
timeline
.add({
handler: () => {
mainContent.setAttribute('style', 'background-color: rgba(0, 0, 0, .5)');
},
wait: 1000,
})
.add({
handler: () => {
section.classList.add('fade-in');
btn.addEventListener('click', () => {
timeline.trigger();
});
},
})
.action({
handler: () => {
// do something you want
},
})
.add({
handler: () => {
section.classList.add('fade-out');
},
})
.run();
</script>API
add
Add handler to timeline.
new Timeline().add(option);
option {
handler: Function;
wait?: number;
}action
Add action to timeline. An action will block the timeline until you call a trigger function.
new Timeline().action(option);
option {
name?: string; // default ''
handler?: Function;
wait?: number;
}run
Start the timeline.
new Timeline().run();callback
Syntactic sugar of add.
new Timeline().callback(handler: Function);trigger
Dispatch the action.
new Timeline().trigger(name?: string);abort
Abort the timeline.
new Timeline().run().abort(handler?: Function);reset
Abort and reset the timeline.
new Timeline().reset(handler?: Function);Hint
abort and reset can only be called after run.