朵拉 发表于 2024-7-10 21:02

千年泪(马黑黑原创)

本帖最后由 朵拉 于 2024-7-10 21:30 编辑 <br /><br /><style>
    #tiezi { position: relative; left: calc(50% - 81px); transform: translate(-50%); width: 960px; height: 540px; }
    #tiezi:hover #player { filter: drop-shadow(0 0 32px yellow) opacity(1); }
    #vc { position: absolute; left: 0; top: 0; background: lightblue; border: 1px solid gray; box-shadow: 2px 2px 4px gray; }
    #vid { opacity: 0; }
    #player { position: absolute; left: 20px; top: 20px; cursor: pointer; filter: drop-shadow(0 0 16px lightblue) opacity(.5); animation: rot 8s linear infinite var(--state); transition: filter 2s; }
    @keyframes rot { to { transform: rotate(1turn); } }
</style>

<div id="tiezi">
    <video id="vid" src="https://img.tukuppt.com/video_show/2269348/00/14/17/5e1caa11c20fb.mp4" loop muted></video>
    <audio id="aud" src="https://music.163.com/song/media/outer/url?id=2153370872" autoplay loop></audio>
    <canvas id="vc" width="960" height="540"></canvas>

    <img id="player" src="https://638183.freep.cn/638183/small/dkxl.webp" alt="" title="播放/暂停" />

</div>

<script>
var ctx = vc.getContext('2d');
var ww = vc.width, hh = vc.height;
var raf = null;

aud.onplaying = aud.onpause = () => {
    aud.paused ? vid.pause() : vid.play();
    tiezi.style.setProperty('--state', aud.paused ? 'paused' : 'running');
    vDraw();
};

aud.onseeked = () => cancelAnimationFrame(raf);

var vDraw = () => {
    ctx.drawImage(vid, 0, 0, ww, hh, 0, -45, ww, hh + 45);
    aud.paused ? cancelAnimationFrame(raf) : raf = requestAnimationFrame(vDraw);
};

player.onclick = () => aud.paused ? aud.play() : aud.pause();

</script>

朵拉 发表于 2024-7-10 21:32

@马黑黑
满屏的眼泪珠子在飞舞~~
老师 晚上好,学生交作业,请指正哈{:4_190:}

红影 发表于 2024-7-10 21:46

这个看不出变色呢,看着就是原视频啊{:4_173:}
欣赏朵宝好帖{:4_204:}

小辣椒 发表于 2024-7-10 22:29

朵拉这个效果是黑黑的什么教程?我好像没有做过的,小辣椒许多作业没有完成了

小辣椒 发表于 2024-7-10 22:29

欣赏朵拉的精彩制作{:4_171:}
页: [1]
查看完整版本: 千年泪(马黑黑原创)