醉美水芙蓉 发表于 2023-11-26 20:07

想你的话向谁讲

<style>
#papa { margin: 80px 0 0 calc(50% - 681px); width: 1200px; height: 669px; box-shadow: 3px 3px 20px #000; position: relative; z-index: 1; display: grid; place-items: center; background: url('https://pic.imgdb.cn/item/65632980c458853aefe5d176.jpg') no-repeat center/cover; overflow: hidden; }
#vid { position: absolute; width: 100%; height: 122%; top:-9%; object-fit: cover; pointer-events: none; mix-blend-mode: screen; z-index: 0; opacity: .95; }
#prog { position: absolute; bottom: 100px; width: 300px; height: 8px; border: 1px solid lightblue; border-radius: 10px;background: linear-gradient(to right, green, red var(--prg), #eee 0); color: red; --prg: 0%; --state: paused; }
#prog::before, #prog::after { position: absolute; top: -30px; }
#prog::before { content: attr(data-cu); left: 0; }
#prog::after { right: 0; content: attr(data-du); }
#btnplay { position: absolute; top: -560px; left:350px; width: 240px; height: 240px; border-radius: 50%; opacity: .75; background: url('https://638183.freep.cn/638183/web/svg/7c-umbrella.svg') no-repeat center/cover; cursor: pointer; animation: rot 6s infinite linear var(--state); }
#lrc { --motion: cover1; --tt: 5s; --state: paused; position: absolute; left: 50%; transform: translate(-50%); bottom: 20px; font: bold 2.8em sans-serif; color: hsl(300, 100%, 100%); -webkit-background-clip: text; filter: drop-shadow(1px 1px 2px hsla(0, 0%, 0%, .95)); }
#lrc::before { position: absolute; content: attr(data-lrc); width: 20%; height: 100%; color: transparent; overflow: hidden; white-space: pre; background: linear-gradient(180deg, hsla(60, 100%, 50%, .75), hsla(20, 100%, 50%, .6), hsla(60, 100%, 50%, .75)); filter: inherit; -webkit-background-clip: text; animation: var(--motion) var(--tt) linear forwards; animation-play-state: var(--state); }
@keyframes cover1 { from { width: 0; } to { width: 100%; } }
@keyframes cover2 { from { width: 0; } to { width: 100%; } }
@keyframes rot { to { transform: rotate(-1turn); } }
</style>
<div id="papa">
<video id="vid" src="https://img.tukuppt.com/video_show/2418175/00/02/20/5b51fecde9934.mp4" autoplay="autoplay" loop="loop" muted="muted" ></video>
<div id="lrc" data-lrc="花潮lrc在线">花潮lrc在线</div>
    <div id="prog" data-cu="00:00" data-du="00:00" title="调节进度">
      <span id="btnplay" title="播放/暂停"></span>
    </div>
</div>
<audio id="aud" src="https://www.qqmc.com/mp3/music317762670.mp3" autoplay loop></audio>

<script>
(function() {
let toMin = (val)=> {if (!val) return '00:00';val = Math.floor(val);let min = parseInt(val / 60), sec = parseFloat(val % 60);if(min < 10) min = '0' + min;if(sec < 10) sec = '0' + sec;return min + ':' + sec;}
let vid = document.querySelector('.vid');
let mState = () => aud.paused ? (lrc.style.setProperty('--state', 'paused'),prog.style.setProperty('--state', 'paused'), vid.pause()) : (lrc.style.setProperty('--state', 'running'),prog.style.setProperty('--state', 'running'), vid.play());
aud.addEventListener('pause', mState, false);
aud.addEventListener('play', mState, false);
aud.addEventListener('timeupdate', () => {
      prog.style.setProperty('--prg', aud.currentTime / aud.duration * 100 + '%');
      prog.dataset.cu = toMin(aud.currentTime);
      prog.dataset.du = toMin(aud.duration);
});
let mKey = 0, mFlag = true;
let lrcAr = [
       ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,

];
      let showLrc = (time) => {let name = mFlag ? 'cover1' : 'cover2';lrc.innerHTML = lrcAr;lrc.dataset.lrc = lrcAr.replace(/<br>/, '\n');lrc.style.setProperty('--motion', name);lrc.style.setProperty('--tt', time + 's');lrc.style.setProperty('--state', 'running');mKey += 1;mFlag = !mFlag;};
      let calcKey = () => {for (j = 0; j < lrcAr.length; j++) {if (aud.currentTime <= lrcAr) {mKey = j - 1;break;}}if (mKey < 0) mKey = 0;if (mKey > lrcAr.length - 1) mKey = lrcAr.length - 1;let time = lrcAr - (aud.currentTime - lrcAr);showLrc(time);};
      aud.addEventListener('timeupdate', () => {for(let j = 0; j < lrcAr.length; j ++) {if (aud.currentTime >= lrcAr) {if (mKey === j) showLrc(lrcAr);else continue;}}});
      aud.addEventListener('pause', () => mState());
      aud.addEventListener('play', () => mState());
      aud.addEventListener('seeked', () => calcKey());
btnplay.onclick = (e) => { e.stopPropagation(); aud.paused ? aud.play() : aud.pause(); }
prog.onclick = (e) => aud.currentTime = e.offsetX * aud.duration / prog.offsetWidth;
})();
setInterval( () => { aud.paused ? vid.pause() : vid.play(); },100);
</script>

红影 发表于 2023-11-26 20:17

漂亮的制作,这个彩虹伞用得很巧妙,给水芙蓉美女点赞{:4_199:}

醉美水芙蓉 发表于 2023-11-26 20:19

红影 发表于 2023-11-26 20:17
漂亮的制作,这个彩虹伞用得很巧妙,给水芙蓉美女点赞

跟着你学做了一个贴!谢谢红影美女!

千羽 发表于 2023-11-26 20:31

芙蓉的作业做得快又静彩,色调美,小花伞播放器放的很巧妙{:4_187:}

醉美水芙蓉 发表于 2023-11-26 20:52

千羽 发表于 2023-11-26 20:31
芙蓉的作业做得快又静彩,色调美,小花伞播放器放的很巧妙

谢谢千羽美女光临!千羽美女也会做的,我是抄作业!

红影 发表于 2023-11-26 21:04

醉美水芙蓉 发表于 2023-11-26 20:19
跟着你学做了一个贴!谢谢红影美女!
不用谢啊,一起学着玩{:4_187:}

红影 发表于 2023-11-26 21:08

那个进度时间用红色跟背景太接近,有点看不清呢,重新调个颜色试试?{:4_204:}

东篱闲人 发表于 2023-11-26 21:15

漂亮!{:5_116:}

醉美水芙蓉 发表于 2023-11-26 22:16

东篱闲人 发表于 2023-11-26 21:15
漂亮!

谢谢东篱老师支持!

老谟深虑 发表于 2023-11-27 11:26

       欣赏老师的佳作,点赞!

亦是金 发表于 2023-11-27 11:32

问好水芙蓉!欣赏学习了!{:4_187:}

醉美水芙蓉 发表于 2023-11-27 11:56

红影 发表于 2023-11-26 21:08
那个进度时间用红色跟背景太接近,有点看不清呢,重新调个颜色试试?

这个进度条不知怎么调颜色了?都忘记了呢?还给老师了!

醉美水芙蓉 发表于 2023-11-27 11:57

东篱闲人 发表于 2023-11-26 21:15
漂亮!

谢谢东篱老师光临!

醉美水芙蓉 发表于 2023-11-27 11:57

老谟深虑 发表于 2023-11-27 11:26
欣赏老师的佳作,点赞!

谢谢老师支持!

醉美水芙蓉 发表于 2023-11-27 11:57

亦是金 发表于 2023-11-27 11:32
问好水芙蓉!欣赏学习了!

谢谢老师光临!

东篱闲人 发表于 2023-11-27 12:40

醉美水芙蓉 发表于 2023-11-26 22:16
谢谢东篱老师支持!

进来享受享受。。。{:5_106:}

马黑黑 发表于 2023-11-27 12:40

好灵巧的设计

红影 发表于 2023-11-27 15:15

醉美水芙蓉 发表于 2023-11-27 11:56
这个进度条不知怎么调颜色了?都忘记了呢?还给老师了!

应该是在#prog里调整的,水芙蓉美女试试就知道了{:4_187:}

醉美水芙蓉 发表于 2023-11-27 19:17

马黑黑 发表于 2023-11-27 12:40
好灵巧的设计

是黑黑老师的代码带来的福利!使我们能够顺利的玩播放器!再次感谢黑黑老师代码!

醉美水芙蓉 发表于 2023-11-27 19:18

红影 发表于 2023-11-27 15:15
应该是在#prog里调整的,水芙蓉美女试试就知道了

谢谢红影美女指点迷津!
页: [1] 2
查看完整版本: 想你的话向谁讲