焱鑫磊 发表于 2023-6-13 14:40

《月光落地的声音》米线

本帖最后由 焱鑫磊 于 2023-8-29 01:04 编辑 <br /><br /><style>
#papa {
         margin: 100px -280px;
        width:1164px;
        height: 640px;
        border-image: linear-gradient(35deg,tan,purple,cyan,orange,red) 4;
        background: url('https://pic2.imgdb.cn/item/644de8a40d2dde57779b3b63.jpg') center/cover no-repeat;
        box-shadow: 3px 8px 20px rgba(0,0,0,.6);
        position: relative;
        display:grid;
        overflow: hidden;
        place-items: center;
    --state: paused;
    animation: hue 10s infinite alternate var(--state);
}
#mplayer {position: absolute;width: 150px;height: 150px;right: -20px;bottom:50px;cursor: pointer;transform-style: preserve-3d;}
.line {position: absolute;width: 1px;height: 100%;transform-style: preserve-3d;}
#vid {
        position: absolute;
        width: 1400px;
        height: 100%;
        border-radius: 2%;
        opacity: .15;
        object-fit: cover;
        pointer-events: none;
}
#lrc {
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translate(-50%);
    height: 50px;
    font: bold 30px/50px sans-serif;
    background: transparent;
    color:Thistle ;
    display: grid;
    place-items: center start;
    pointer-events: none;
    --motion: cover2;
    --tt: 1s;
}

#lrc::before,
#lrc::after {
    position: absolute;
    content: '';
}

#lrc::before {
    content: attr(data-lrc);
    width: 0%;
    height: 100%;
    color: Purple;
    white-space: pre;
    overflow: hidden;
    animation: var(--motion) var(--tt) linear forwards var(--state);
}

#lrc::after {
    width: 100px;
    height: 100px;
    left: -100px;
    border-radius: 50%;
    background:center/cover no-repeat;
    cursor: pointer;
    pointer-events: auto;
    animation: rot 4s infinite linear var(--state);
}

@keyframes cover1 {
    to {
      width: 100%;
    }
}

@keyframes cover2 {
    to {
      width: 100%;
    }
}
@keyframes rot {
    to {
      transform: rotate(360deg);
    }
}
@keyframes rot { to { transform: rotateY(calc(var(--sy) + 360deg)) rotateZ(calc(var(--sz) + 360deg)); } }
@keyframes hue {
      to { filter: hue-rotate(360deg); }
</style>

<div id="papa">
      <div id="mplayer"></div><div id="lrc" data-lrc="HCPlayer">HCPlayer</div><video id="vid" src="https://img.tukuppt.com/video_show/2418175/00/01/83/5b4b08181b572_10s_big.mp4" autoplay="" loop="" muted=""></video>
</div>
<audio id="aud" src="https://i.mp3.wf/view.php/026f196013ebc6e5727e3fcf4b2a8a4f.mp3" autoplay loop></audio>

<script>
let total = 60, spans = [];
let mKey = 0, mFlag = true;

let lrcAr = [
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
       
];

let mState = () => papa.style.setProperty('--state', aud.paused ? 'paused' : 'running');
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');papa.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;}}});
Array.from({length: 64}).forEach( (item,key) => {
      let sp = document.createElement('span');
      sp.className = 'line';
      sp.style.cssText += `
                --sy: ${Math.random() * 720 - 360}deg;
                --sz: ${Math.random() * 720 - 360}deg;
                background: rgba(${Math.random() * 50}, ${Math.random() * 255}, ${Math.random() * 50}, .8);
                transform: rotateY(var(--sy)) rotateZ(var(--sz));
                animation: rot 30s linear infinite var(--state);
      `;
      mplayer.appendChild(sp);
});

mplayer.onclick = () => aud.paused ? aud.play() : aud.pause();
aud.addEventListener('play', mState, false);
aud.addEventListener('pause', mState, false);
</script>

红影 发表于 2023-6-13 15:38

变色背景加线束播放器按钮,这个制作真漂亮。欣赏焱鑫磊好帖{:4_199:}

红影 发表于 2023-6-13 15:40

这个线束按钮的效果,我都忘了又没有完成作业了,是黑黑之前的按钮效果呢{:4_173:}
胶片一样的背景图制作好漂亮,焱鑫磊又带来美女养眼了{:4_187:}

梦缘 发表于 2023-6-13 17:43

制作真漂亮,欣赏老师好帖!{:4_176:}

焱鑫磊 发表于 2023-6-13 21:36

红影 发表于 2023-6-13 15:38
变色背景加线束播放器按钮,这个制作真漂亮。欣赏焱鑫磊好帖

谢谢红影鼓励!{:4_187:}

焱鑫磊 发表于 2023-6-13 21:39

红影 发表于 2023-6-13 15:40
这个线束按钮的效果,我都忘了又没有完成作业了,是黑黑之前的按钮效果呢
胶片一样的背景图制作 ...

黑黑老师的线束按钮加个幻灯美女。{:4_187:}

焱鑫磊 发表于 2023-6-13 21:39

梦缘 发表于 2023-6-13 17:43
制作真漂亮,欣赏老师好帖!

谢谢梦缘鼓励!{:4_187:}

红影 发表于 2023-6-13 23:00

焱鑫磊 发表于 2023-6-13 21:36
谢谢红影鼓励!

问好焱鑫磊,厉害啊,这么多好帖子{:4_199:}

红影 发表于 2023-6-13 23:01

焱鑫磊 发表于 2023-6-13 21:39
黑黑老师的线束按钮加个幻灯美女。

这样的幻灯美女制作也好美的呢{:4_187:}
页: [1]
查看完整版本: 《月光落地的声音》米线