哦,队长是说做水滴涟漪?那个可能需要好好调位置的呢。
嗯嗯,不急的。先找感觉后就立即动手制作了。
<style>
.outer { left: -214px; width: 1024px; height: 640px; background: transparent; box-shadow: 0 2px 24px #00AEAE; position: relative; }
.picbox { position: absolute; width: 1024px; height: 640px; animation: fadeout 2s; }
.mama { left: 20px; bottom: 40px; width: fit-content; height: fit-content; position: absolute; cursor: pointer; border-radius: 0 100%; background: linear-gradient(transparent,green); }
.wrap { width: 90px; height: 60px; box-reflect: below 0 linear-gradient(rgba(0,0,0,.01),#000); -webkit-box-reflect: below 0 linear-gradient(rgba(0,0,0,.01),#000); position: relative; }
.mama meter { width: 90px; position: relative; }
.wrap span { width: 6px; height: 60px; bottom: -8px; display: inline-block; position: absolute; }
.wrap span::before { position: absolute; content: ''; width: inherit; height: 3px; background: #eee; top: -3px; animation: up 1s ease-in infinite; }
.lrcbox { transform: translate(20px, 20px); font: bold 1.2em / 2em sans-serif; color: lightgreen; text-shadow: 1px 1px 1px #000; border-radius: 100% 0; position: absolute; }
@keyframes up { from { top: -6px; } to { top: -16px; } }
@keyframes fadein { from { opacity: .1; } to {opacity: 1; } }
@keyframes fadeout { from { opacity: 1; } to {opacity: .1; } }
</style>
<div class="outer">
<img class="picbox" src="https://s1.ax1x.com/2022/06/20/XvnYBn.jpg" alt="" />
<div class="mama">
<h2>美人痛--杨曼莉</h2>
<div class="wrap"></div>
<meter id="meter" value="0" min="0" max="100" low="33" high="66" optimum="70"></meter>
</div>
<div class="lrcbox">Loading ...</div>
</div>
<audio id="aud" src="https://www.joy127.com/url/90887.mp3" autoplay="autoplay" loop="loop"></audio>
<script>
let mama = document.querySelector('.mama'),
picbox = document.querySelector('.picbox'),
wrap = document.querySelector('.wrap'),
lrcbox = document.querySelector('.lrcbox'),
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;
let idx = 0, flag = true, slip= 1;
let picAr = [
'https://s1.ax1x.com/2022/06/20/XvnYBn.jpg',
'https://s1.ax1x.com/2022/06/20/XvuiEq.jpg',
'https://s1.ax1x.com/2022/06/20/XvuyRS.jpg ',
'https://s1.ax1x.com/2022/06/20/XvKpRO.jpg',
'https://s1.ax1x.com/2022/06/20/XvKDm9.jpg',
'https://s1.ax1x.com/2022/06/20/XvQ0aR.jpg',
'https://s1.ax1x.com/2022/06/20/XvGjPA.jpg'
];
Array.from({length: 10}).forEach((ele,key) => {
ele = document.createElement('span');
ele.className = 'sskey';
ele.style.left = key * 6 + key * 3 + 'px';
ele.style.height = num(10,60) + 'px';
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(10, 60) + 'px';
})
meter.value = prog(aud.duration, aud.currentTime);
let tt = aud.currentTime;
for(j=0; j<lrcAr.length; j++){
if(tt >= lrcAr - slip){
lrcbox.innerHTML = lrcAr;
}
}
});
let timer = setInterval(() => {
idx ++;
if(idx >= picAr.length) idx = 0;
picbox.src = picAr;
flag ? (picbox.style.animation = 'fadein .8s', flag = false) : (picbox.style.animation = 'fadeout .8s', flag = true);
}, 10000);
</script>
加林森 发表于 2022-4-9 18:07
嗯嗯,不急的。先找感觉后就立即动手制作了。
队长一定能做成的{:4_187:} 红影 发表于 2022-4-10 13:58
队长一定能做成的
会的会的。{:4_189:} 加林森 发表于 2022-4-10 14:05
会的会的。
嗯,那就等着队长的精彩了。 红影 发表于 2022-4-11 07:04
嗯,那就等着队长的精彩了。
嗯嗯
页:
1
[2]