亦是金 发表于 2023-3-27 11:26

《 忘 忧 草 》 - 周华健(学习黑黑老师iooi帖渐变视频效果)

本帖最后由 亦是金 于 2025-12-9 11:14 编辑 <br /><br /><div class="t_fsz">
<table cellspacing="0" cellpadding="0"><tr><td class="t_f" id="postmessage_1860773">
<div style="width: 1200px;height: 700px;box-shadow:0px 0px 1px 2px #045768, 0px 0px 0px 8px #99e5f5,0px 0px 5px 15px #045768;overflow:hidden;border-radius:1%;margin-top:20px;margin-LEFT: -310px;">
<style>
#papa {
      margin: auto;
      top: -83px;
      left: 0px;
        width: 1200px;
        height: 700px;
        background: url('https://s1.ax1x.com/2023/03/27/pps1r60.jpg') center/cover no-repeat;
        box-shadow: 3px 3px 20px #000;
        position: relative;
        z-index: 1;
}
#papa:hover
#mplayer { transition: .7s; opacity: .9; }
#vid {
      display: none;
      top: 200px;
      left: 0px;
        width: 1200px;
        height: 700px;
}
#canv {
        position: absolute;
        display: block;
        opacity: 1;
        animation: opa 20s infinite alternate linear;
}
#mplayer {
        position: absolute;
        left: calc(50% - 15px);
        bottom: 5px;
        width: 30px;
        height: 30px;
        border: 2px solid white;
        border-radius: 50%;
        opacity: 0;
        transition: .7s;
        display: grid;
        place-items: center;
        --disp1: 0; --disp2: 1;
}
#mplayer::before,
#mplayer::after {
        position: absolute;
        content: '';
        border-style: solid;
        border-color: white;
        cursor: pointer;
        transition: .4s;
}
#mplayer::before {
        width: 0;
        height: 0;
        left: 10px;
        border-width: 10px 12px;
        border-color: transparent transparent transparent white;
        opacity: var(--disp1);
}
#mplayer::after {
        width: 2px;
        height: 20px;
        border-width: 0 4px 0 4px;
        opacity: var(--disp2);
}
@keyframes opa { to {opacity: 0;} }

#lrc {
        --motion: cover2;
        --tt: 2s;
        --bg: linear-gradient(40deg, #fa4354, #fa4354, #7718f8, #18f5f8, #f5f818, #b75004);
        position: absolute;
        top: 600px;
        left: 380px;
        font: bold 2.2em sans-serif;
        color: snow;
        white-space: pre;
        -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: var(--bg);
        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 mov {to { transform: translate(var(--xx)); } }
@keyframes scale { to {transform: scale(1.5); } }

</style>


<style type="text/css">

@keyframes mv { from { background-position: 1200px 0; } to { background-position: 0 0; } }

body { overflow-x: hidden; }
#baiBox {
      margin: auto;
      width: 800px;
      text-align: center;
      font-family:微软简中圆;
      font-size: 2.5rem;
      font-weight: bold;
      color: #f46ff6;
      transform-origin: top;
      animation: yao 1.0s linear infinite alternate;
}

@keyframes yao {
      from{transform: perspective(800px) rotatex(30deg); }
      to { transform: perspective(800px) rotatex(-30deg); }
}

.tit { position: relative;width: 300px;height: 30px;top:20px;LEFT: -390px;z-index: 100;filter: drop-shadow(-1px 1px 1px #ffffff)drop-shadow(0px -1px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff)drop-shadow(0px 0px 1px #ffffff) }
#tit:hover { color: green; }
</style>

<div id="hu" >
<div id="baiBox"
<div class="tit">
<span style="color:#fb52f9;"><span style="font-size:36px;">《 忘 忧 草 》</span>
<span style="color:#3d46f7;"><span style="font-size:20px;">- 周华健</span></div>

<div style="position: relative;width: 500px;height: 50px;top:600px;LEFT: 1000px;z-index: 100;filter: drop-shadow(-1px 1px 1px #e8f552)drop-shadow(0px -1px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)drop-shadow(0px 0px 1px #e8f552)">
<p><span style="color:#ff0000;"><span style="font-family:华文隶书;"><span style="font-size:26px;">亦是金在线音乐</span></span></span></p></div>
</style>

<div id="papa">
        <canvas id="canv"></canvas>
        <div id="mplayer"></div>

<div id="lrc" data-lrc="HCPlayer">HCPlayer</div>
</div>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=108213" loop autoplay></audio>
<video id="vid" src="https://img.tukuppt.com/video_show/2418175/00/08/28/5d23187daafa5.mp4" loop muted autoplay></video>

<script>
(function(){

let ctx = canv.getContext('2d');
let ww = canv.width = papa.offsetWidth, hh = canv.height = papa.offsetHeight;
let loop = () => {ctx.drawImage(vid, 0, -4, ww, hh, 0, 0, ww + 530, hh + 200);if(!vid.paused) {requestAnimationFrame(loop);return;}};
let mState = () => aud.paused ? (mplayer.style.setProperty('--disp1','1'), mplayer.style.setProperty('--disp2','0'), vid.pause()) : (mplayer.style.setProperty('--disp1','0'), mplayer.style.setProperty('--disp2','1'), vid.play());
vid.addEventListener('play', loop, false);
aud.addEventListener('play', () => mState());
aud.addEventListener('pause', () => mState());
mplayer.addEventListener('click', () => aud.paused ? aud.play() : aud.pause());
})();

let averAdd = 0, offset = 0, mKey = 0, mFlag = true;

let lrcTime = (ar) => {let tmpAr = [];for (j = 0; j < ar.length - 1; j++) {if (j !== ar.length - 1) tmpAr = parseFloat((ar - ar).toFixed(1));}let aver = parseInt(tmpAr.reduce((a, b) => a + b) / (tmpAr.length - 1)) + averAdd;tmpAr.push(aver);tmpAr.forEach((item, key) => {ar = item > aver ? aver : item;});return ar;};
let getLrcAr = (text) => {let lrcAr = [];let calcRule = ;for (x of text.split('\n')) {let ar = [];let re = /\d+[\.:]\d+([\.:]\d+)?/g;let geci = x.replace(re, '');if (geci) {geci = geci.replace(/[\[\]\'\"\t,]s?/g, '');let time = x.match(re);if (time != null) {for (y of time) {let tmp = y.match(/\d+/g);let sec = 0;for (z in tmp) sec += tmp * calcRule;ar = ;lrcAr.push(ar);}}}}lrcAr.sort((a, b) => a - b);return (lrcTime(lrcAr));}
let showLrc = (time) => {let name = mFlag ? 'cover1' : 'cover2';lrc.innerHTML = lrcAr;lrc.dataset.lrc = lrcAr;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); };
let mState = () => papa.style.setProperty('--state', aud.paused ? 'paused' : 'running');

let lrcAr = getLrcAr('《 忘 忧 草 》 - 周华健\n作词 : 陈 没\n作曲 : 宇徳敬子\n编曲 : 陈建骐\nLRC歌词编辑:亦是金\n● ● ● ● ● ●\n让软弱的我们 懂得残忍\n狠狠面对人生每次寒冷\n依依不舍的爱过的人\n往往有缘没有份\n谁把谁真的当真\n谁为谁心疼\n谁是唯一谁的人\n伤痕累累的天真的灵魂\n早已不承认还有什么神\n美丽的人生 善良的人\n心痛心酸心事太微不足道\n来来往往的你我与他\n相识不如相望淡淡一笑\n忘忧草 忘了就好\n梦里知多少\n某天涯海角\n某个小岛\n某年某月某日某一次拥抱\n青青河畔草\n静静等天荒地老\n● ● ● ● ● ●\n让软弱的我们 懂得残忍\n狠狠面对人生每次寒冷\n依依不舍的爱过的人\n往往有缘没有分\n谁把谁真的当真\n谁为谁心疼\n谁是唯一谁的人\n伤痕累累的天真的灵魂\n早已不承认还有什么神\n美丽的人生 善良的人\n心痛心酸心事太微不足道\n来来往往的你我与他\n相识不如相望淡淡一笑\n忘忧草 忘了就好\n梦里知多少\n某天涯海角\n某个小岛\n某年某月某日某一次拥抱\n青青河畔草\n静静等天荒地老\n -- 谢谢欣赏 --\n\n');
aud.addEventListener('timeupdate', () => {for (j = 0; j < lrcAr.length; j++) {if (aud.currentTime >= lrcAr) {cKey = j;if (mKey === j) showLrc(lrcAr);else continue;}}});
aud.addEventListener('pause', () => mState());
aud.addEventListener('play', () => mState());
aud.addEventListener('seeked', () => calcKey());
face.addEventListener('click', () => aud.paused ? aud.play() : aud.pause());

</script>
</td></tr></table>

红影 发表于 2023-3-27 12:08

我记得忘忧草是黄花菜,可以吃的呢。{:4_173:}
这个制作真漂亮,点击按钮可以让动画都停止的。欣赏亦是金老师好帖{:4_187:}

亦是金 发表于 2023-3-27 13:03

红影 发表于 2023-3-27 12:08
我记得忘忧草是黄花菜,可以吃的呢。
这个制作真漂亮,点击按钮可以让动画都停止的。欣赏亦是金 ...

问好红影,我是套用黑黑老师的代码做的!祝你欣赏愉快!{:4_187:}

小辣椒 发表于 2023-3-27 13:10

这个速度快的,我刚看见黑黑分享,都还没有回帖,这里已经出来了{:4_199:}

亦是金 发表于 2023-3-27 13:25

小辣椒 发表于 2023-3-27 13:10
这个速度快的,我刚看见黑黑分享,都还没有回帖,这里已经出来了

问好小辣椒,感冒好了吗?注意休息!谢谢欣赏!{:4_187:}

小辣椒 发表于 2023-3-27 13:29

亦是金 发表于 2023-3-27 13:25
问好小辣椒,感冒好了吗?注意休息!谢谢欣赏!

我在家里休息,上来看看的,谢谢关心{:4_187:}

亦是金 发表于 2023-3-27 13:29

小辣椒 发表于 2023-3-27 13:10
这个速度快的,我刚看见黑黑分享,都还没有回帖,这里已经出来了

我是看见雨中悄然《 樱花树下》帖子后,快马加鞭模仿一个!{:5_109:}

小辣椒 发表于 2023-3-27 13:34

亦是金 发表于 2023-3-27 13:29
我是看见雨中悄然《 樱花树下》帖子后,快马加鞭模仿一个!

我开始也是这样的,都是套用黑黑老师的

樵歌 发表于 2023-3-27 18:16

欣赏漂亮佳作。{:4_174:}

马黑黑 发表于 2023-3-27 18:19

小纽扣播放控制器改造的不错。欣赏。

亦是金 发表于 2023-3-27 20:33

樵歌 发表于 2023-3-27 18:16
欣赏漂亮佳作。

谢谢樵歌欣赏!问好!{:4_191:}

亦是金 发表于 2023-3-27 20:34

马黑黑 发表于 2023-3-27 18:19
小纽扣播放控制器改造的不错。欣赏。

谢谢老师的代码!谢谢老师夸奖!好开心!!!{:4_191:}

红影 发表于 2023-3-27 21:50

亦是金 发表于 2023-3-27 13:03
问好红影,我是套用黑黑老师的代码做的!祝你欣赏愉快!

做的非常漂亮呢{:4_199:}

马黑黑 发表于 2023-3-27 22:17

亦是金 发表于 2023-3-27 20:34
谢谢老师的代码!谢谢老师夸奖!好开心!!!

{:4_191:}
页: [1]
查看完整版本: 《 忘 忧 草 》 - 周华健(学习黑黑老师iooi帖渐变视频效果)