本帖最后由 花简静 于 2024-8-18 15:38 编辑
<style>
#mydiv {
margin: 130px 0 30px calc(50% - 931px);
width: 1700px;
height: 900px;
background: url('https://642303.freep.cn/642303/tu/20240724suxin07.webp') no-repeat center/cover;
pointer-events: none;
box-shadow: 0 0 10px rgba(0,0,0,.5);
z-index: 1;
position: relative;
}
#mydiv::before, #mydiv::after {
position: absolute;
content: '';
top: 50px;
width: 320px;
height: 320px;
background: repeating-conic-gradient(CornflowerBlue 2%, LightCyan 4%, CornflowerBlue 6%);
border-radius: 50%;
cursor: pointer;
pointer-events: auto;
box-shadow: inset 0 0 150px Violet;
animation: rot 4s linear infinite var(--state);
}
#mydiv::before { left: 180px; top:252px;filter: invert(.2); opacity: .89;-webkit-mask: radial-gradient(rgba(0,0,0,.6), rgba(0,0,0,.35), transparent, transparent);}
#mydiv::after { right: 260px; top: 70px; filter: invert(.3); width: 160px;height: 160px; opacity: .99;-webkit-mask: radial-gradient(circle, cyan, cyan,rgba(0,0,0,.35),transparent, transparent);}
#vid {
position: absolute;
width: 100%;
height: 100%;
filter: hue-rotate(10deg);
opacity: .89;
object-fit: cover;transform: rotateY(180deg);
-webkit-mask: linear-gradient(0deg, red 20%, transparent 55%, transparent);
}
@keyframes rot { to { transform: rotate(1turn); } }
</style>
<div id="mydiv" title="播放/暂停">
<video id="vid" src="https://img.tukuppt.com/video_show/2475824/00/01/49/5b442a61122a2.mp4" autoplay loop muted></video>
</div>
<script>
var songs = ['1920932653','1412187718','569144091','1377428317','1930426297', '407042026'].map(s => 'https://music.163.com/song/media/outer/url?id=' + s);
const rd_play = (ar,audio) => audio.src = ar[Math.floor(Math.random() * ar.length)];
var aud = document.createElement('audio');
aud.oncanplay = aud.onplaying = aud.onpause = () => {
mydiv.style.setProperty('--state', aud.paused ? 'paused' : 'running');
aud.paused ? vid.pause() : vid.play();
}
aud.onended = () => rd_play(songs,aud);
aud.autoplay = true;
mydiv.appendChild(aud);
rd_play(songs, aud);
mydiv.onclick = () => aud.paused ? aud.play() : aud.pause();
</script>
|