|
|

楼主 |
发表于 2024-1-17 11:46
|
显示全部楼层
帖子代码
- <style>
- #papa { margin: -70px 0 0 calc(50% - 721px); width: 1280px; height: 800px; background: url('https://638183.freep.cn/638183/t24/jpg/mgjk.jpg') no-repeat center/cover; box-shadow: 3px 3px 20px #000; position: relative; overflow: hidden; z-index: 1; }
- #player { position: absolute; left: 670px; top: 280px; mix-blend-mode: screen; cursor: pointer; transition: filter 1s; animation: rot 6s infinite linear var(--state); }
- #player:hover { filter: hue-rotate(160deg); }
- li-zi { position: absolute; left: 760px; top: 340px; width: 60px; height: 60px; opacity: .3; background: url('https://638183.freep.cn/638183/t23/btn/hxbj.png') no-repeat center/cover; }
- @keyframes moving { from { opacity: .3; transform: translate(0,0) rotate(0); } to { opacity: 1; transform: translate(var(--x0),var(--y0)) rotate(3turn); } }
- @keyframes rot { to { transform: rotate(360deg); } }
- </style>
- <div id="papa">
- <audio id="aud" src="https://music.163.com/song/media/outer/url?id=1908287251" autoplay loop></audio>
- <img id="player" src="https://638183.freep.cn/638183/t23/btn/hxbj.png" alt="" />
- </div>
- <script>
- (function() {
- let all = 30;
- for(let i = 0; i < all; i++) {
- let lz = document.createElement('li-zi');
- let hudu = Math.PI / 180 * 360 / all * i;
- let xx = 950 * Math.cos(hudu), yy = 850 * Math.sin(hudu);
- lz.style.cssText += `
- --x0: ${xx}px;
- --y0: ${yy}px;
- filter: hue-rotate(${Math.floor(Math.random() * 360)}deg);
- animation: moving ${Math.random() * 20 + 20}s ${1 - Math.random() * 20}s infinite var(--state);
- `;
- papa.prepend(lz);
- }
- let mState = () => aud.paused ? papa.style.setProperty('--state','paused') : papa.style.setProperty('--state','running');
- aud.addEventListener('playing',mState,false);
- aud.addEventListener('pause',mState,false);
- player.addEventListener('click', () => aud.paused ? aud.play() : aud.pause());
- })();
- </script>
复制代码
|
|