本帖最后由 花简静 于 2024-12-22 22:01 编辑
<style>
#tz {
margin: 130px 0 30px calc(50% - 931px);
width: 1700px;
height: 900px;
background: url('https://642303.freep.cn/642303/tu/20241002yang03.webp') no-repeat center/cover;
box-shadow: 3px 3px 6px rgba(0,0,0,.6);
overflow: hidden;
z-index: 1;
position: relative;
}
#vid1 {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
mix-blend-mode: overlay;
pointer-events: none;
opacity: 0.39;
-webkit-mask: linear-gradient(to left top, red 5%, transparent 85%, transparent);
}
#vid2 {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
mix-blend-mode: screen;
pointer-events: none;
opacity: 0.09;
-webkit-mask: linear-gradient(to right top, red 5%, transparent 85%, transparent);
}
#player {
position: absolute;
left: calc(50% + 30px);
top: calc(50% - 30px);
cursor: pointer;
opacity: 0.99;
animation: rot 10s linear infinite var(--state);
}
use:nth-child(odd) { --bg: Moccasin; }
use:nth-child(even) { --bg: Salmon; }
@keyframes rot {
to { transform: rotate(360deg); }
}
</style>
<div id="tz">
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1873048038" autoplay loop></audio>
<video id="vid1" src="https://bpic.588ku.com/video_listen/588ku_preview/22/05/23/11/59/33/video628b06a50eec2.mp4" autoplay loop muted></video>
<video id="vid2" src="https://img.tukuppt.com/video_show/2269348/00/14/66/5e5a2fd36a145.mp4" autoplay loop muted></video>
<svg id="player" width="100" height="100" viewBox="0 0 100 100">
<title id="tt">播放/暂停</title>
<defs>
<g id="p1" fill="none" stroke="var(--bg)" stroke-width="2" stroke-linecap="round" stroke-dasharray="4 6">
<path id="p1" d="M5 50 Q25 135,50 50 T 95 50">
<animate attributeName="stroke-dashoffset" from="80" to="0" dur="2s" repeatCount="indefinite" />
</path>
</g>
</defs>
<use href="#p1" transform="rotate(0 50 50)"></use>
<use href="#p1" transform="rotate(30 50 50)"></use>
<use href="#p1" transform="rotate(60 50 50)"></use>
<use href="#p1" transform="rotate(90 50 50)"></use>
<use href="#p1" transform="rotate(120 50 50)"></use>
<use href="#p1" transform="rotate(150 50 50)"></use>
</svg>
</div>
<script>
mState = () => {
tz.style.setProperty('--state', aud.paused ? 'paused' : 'running');
aud.paused ? (player.pauseAnimations(), vid1.pause(), vid2.pause()) : (player.unpauseAnimations(), vid1.play(), vid2.play());
tt.textContent = aud.paused ? '点击播放' : '点击暂停';
};
aud.onplaying = aud.onpause = () => mState();
player.onclick = () => aud.paused ? aud.play() : aud.pause();
</script>
|