|
|

楼主 |
发表于 2023-12-19 07:53
|
显示全部楼层
帖子代码
- <style>
- #papa {
- margin: 0 0 0 calc(50% - 593px);
- width: 1024px;
- height: 640px;
- background: lightblue;
- box-shadow: 3px 3px 20px #000;
- overflow: hidden;
- position: relative;
- display: grid;
- place-items: center;
- z-index: 1;
- }
- #mypic {
- position: absolute;
- top: 20px;
- width: 200px;
- cursor: pointer;
- animation: rot 6s infinite linear var(--state);
- }
- #vid {
- position: absolute;
- width: 1024px;
- height: 700px;
- top: -60px;
- object-fit: cover;
- pointer-events: none;
- }
- li-zi {
- position: absolute;
- width: 10px;
- height: 10px;
- border-radius: 50%;
- }
- @keyframes moving {
- from { opacity: 0; transform: translate(0,0); }
- to { opacity: 1; transform: translate(var(--x0),var(--y0)); }
- }
- @keyframes rot { to { transform: rotate(360deg); } }
- </style>
- <div id="papa">
- <video id="vid" src="https://img.tukuppt.com/video_show/2421007/00/01/34/5b409438a83f4.mp4" autoplay loop muted></video>
- <img id="mypic" src="https://638183.freep.cn/638183/t23/btn/dou.png" alt="" />
- <audio id="aud" src="https://music.163.com/song/media/outer/url?id=2018483363" autoplay loop></audio>
- </div>
- <script>
- let mState = () => aud.paused
- ? (papa.style.setProperty('--state','paused'),vid.pause())
- : (papa.style.setProperty('--state','running'),vid.play());
-
- aud.addEventListener('pause', () => mState());
- aud.addEventListener('playing', () => mState());
- mypic.onclick = () => aud.paused ? aud.play() : aud.pause();
- let all = 160;
- for(let i = 0; i < all; i++) {
- let lz = document.createElement('li-zi');
- let hudu = Math.PI / 180 * 360 / all * i;
- let xx = 800 * Math.cos(hudu), yy = 800 * Math.sin(hudu);
- lz.style.cssText += `
- --x0: ${xx}px;
- --y0: ${yy}px;
- background: #${Math.random().toString(16).substr(-6)};
- animation: moving ${Math.random() * 20 + 20}s -${Math.random() * 20}s infinite var(--state);
- `;
- papa.insertBefore(lz,mypic);
- }
- </script>
复制代码
|
|