|
|

楼主 |
发表于 2022-5-29 14:23
|
显示全部楼层
- <style>
- .mama { left: 20px; width: fit-content; height: fit-content; position: absolute; cursor: pointer; }
- .wrap { width: 60px; height: 60px; box-reflect: right; -webkit-box-reflect: right; position: relative; }
- .mama meter { width: 120px; height: 20px; position: relative; }
- .wrap span { --ww: 6px; width: var(--ww); height: 60px; bottom: -6px; background-color: rgba(255,0,0,.6); display: inline-block; position: absolute; }
- .wrap span:nth-child(2) { left: var(--ww); }
- .wrap span:nth-child(3) { left: calc(var(--ww) * 2); }
- .wrap span:nth-child(4) { left: calc(var(--ww) * 3); }
- .wrap span:nth-child(5) { left: calc(var(--ww) * 4); }
- .wrap span:nth-child(6) { left: calc(var(--ww) * 5); }
- .wrap span:nth-child(7) { left: calc(var(--ww) * 6); }
- .wrap span:nth-child(8) { left: calc(var(--ww) * 7); }
- .wrap span:nth-child(9) { left: calc(var(--ww) * 8); }
- .wrap span:nth-child(10) { left: calc(var(--ww) * 9); }
- </style>
- <div class="mama">
- <div class="wrap"></div>
- <meter id="meter" value="0" min="0" max="100" low="33" high="66" optimum="70"></meter>
- <audio id="aud" src="https://music.163.com/song/media/outer/url?id=33933040.mp3" autoplay="autoplay" loop="loop"></audio>
- </div>
- <script>
- let mama = document.querySelector('.mama'), wrap = document.querySelector('.wrap'), aud = document.querySelector('#aud'), meter = document.querySelector('#meter');
- let num = (min, max) => Math.floor(Math.random() * (max-min+1)) + min, prog = (tt, cc) => 100 * cc / tt;
- Array.from({length: 10}).forEach((ele) => {
- ele = document.createElement('span');
- ele.className = 'sskey';
- ele.style.backgroundColor = `rgba(${num(0,255)},${num(0,255)},${num(0,255)},.95)`;
- wrap.appendChild(ele);
- })
- let sskey = document.querySelectorAll('.sskey');
- mama.onclick = () => aud.paused ? aud.play() : aud.pause();
- aud.addEventListener('timeupdate', () => {
- Array.from(sskey).forEach((ele) => {
- ele.style.height = num(20, 60) + 'px';
- })
- meter.value = prog(aud.duration, aud.currentTime);
- })
- </script>
复制代码
|
|