|
|

楼主 |
发表于 2023-4-14 07:51
|
显示全部楼层
帖子源码
- <style>
- #mydiv {
- margin: 20px auto;
- width: 1024px;
- height: 640px;
- background: #000 url('https://638183.freep.cn/638183/t23/1/rr.jpg') center/cover no-repeat;
- overflow: hidden;
- cursor: pointer;
- position: relative;
- --state: paused;
- }
- .dot {
- position: absolute;
- left: 50%;
- bottom: -10px;
- width: 4px;
- height: 4px;
- border-radius: 50%;
- background: snow;
- }
- @keyframes ani { to { transform: rotate(var(--deg)) translateY(-640px); }}
- </style>
- <div id="mydiv"></div>
- <audio id="aud" src="https://music.163.com/song/media/outer/url?id=1346093344" loop="loop" autoplay="autoplay"></audio>
- <script>
- Array.from({length: 400}).forEach( (item,key) => {
- let sp = document.createElement('span');
- let ww = Math.random() * 5 + 2;
- sp.className = 'dot';
- sp.style.cssText += `
- --deg: ${-50 + Math.random() * 100}deg;
- width: ${ww}px;
- height: ${ww}px;
- background: #${Math.random().toString(16).substr(-6)};
- animation: ani 10s ${Math.random() * key - 4}s infinite alternate var(--state);
- `;
- mydiv.appendChild(sp);
- });
- let mState = () => mydiv.style.setProperty('--state', aud.paused ? 'paused' : 'running');
- aud.addEventListener('play', mState, false);
- aud.addEventListener('pause', mState, false);
- mydiv.onclick = () => aud.paused ? aud.play() : aud.pause();
- </script>
复制代码
|
|