28 lines
1.4 KiB
HTML
28 lines
1.4 KiB
HTML
|
|
<!doctype html>
|
||
|
|
<html><head><meta charset="UTF-8"/>
|
||
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
|
||
|
|
<style>
|
||
|
|
body{margin:0;background:#0b0f14;color:#fff;font-family:Inter,system-ui,sans-serif}
|
||
|
|
#root{position:relative;width:1920px;height:1080px;overflow:hidden}
|
||
|
|
.clip{position:absolute;inset:0;display:grid;place-items:center}
|
||
|
|
</style></head>
|
||
|
|
<body>
|
||
|
|
<div id="root" data-composition-id="grain-wash" data-start="0" data-width="1920" data-height="1080" data-duration="30">
|
||
|
|
<audio id="voice-s1" src="audio/voice-s1.wav" data-start="0"></audio>
|
||
|
|
<section id="s1" class="clip" data-start="0" data-duration="10" data-track-index="1">
|
||
|
|
<h1 id="s1-title">The grain remembers the plane.</h1>
|
||
|
|
</section>
|
||
|
|
<audio id="voice-s2" src="audio/voice-s2.wav" data-start="10"></audio>
|
||
|
|
<section id="s2" class="clip" data-start="10" data-duration="20" data-track-index="1">
|
||
|
|
<h1 id="s2-title">The wash follows the grain.</h1>
|
||
|
|
</section>
|
||
|
|
<audio id="bgm" src="audio/music.mp3" data-start="0" data-volume="0.15"></audio>
|
||
|
|
</div>
|
||
|
|
<script>
|
||
|
|
window.__timelines = window.__timelines || {};
|
||
|
|
const tl = gsap.timeline({ paused: true });
|
||
|
|
tl.to("#s1-title", { opacity: 1, y: 0, duration: 0.6, ease: "power3.out" }, 0.2);
|
||
|
|
tl.from("#s2-title", { scale: 1.06, duration: 4, ease: "power1.out" }, 10.5);
|
||
|
|
window.__timelines["main"] = tl;
|
||
|
|
</script>
|
||
|
|
</body></html>
|