小辣椒 发表于 2022-6-11 17:01

水墨丹青一世情(学习黑黑歌词同步编辑)

<style>
.mama { position: relative; left: -340px; width: 1280px; height: 732px;top: 150px;background: #ccc url('https://pic.imgdb.cn/item/62a387230947543129d85cc1.jpg') no-repeat; box-shadow: 2px 2px 2px #444; }
.lrcWrap { position: absolute; right: 80px; top: 180px; padding: 20px; width: fit-content; height: fit-content; text-align: center; background: Azure(20,20,20,.6) linear-gradient(rgba(255,255,255,.25), rgba(255,255,255,.15)); box-shadow: 1px 1px 4px #eee; display: flex; flex-direction: column;align-items: center; }
.meterWrap { position: relative; display: flex; align-items: center; width: fit-content; height: 50px; }
.btn { width: 24px; height: 24px; background: olive; color: #ccc; border: none; font-size: 14px; outline: none; cursor: pointer; }
.btn:hover { color: red; }
.meter { position: relative; width:300px; height: 11px; cursor: pointer; background: linear-gradient(transparent 5px, snow 6px,transparent 0); }
.slider { display: block; position: absolute; width: 4px; height: 100%; background: olive; }
.lrcWrap p { margin: 0 0 12px 0; padding: 0px; color: #ccc; font: normal 1.2em sans-serif; text-shadow: 1px 1px 1px #333; }
.lrcBox { margin: 0; padding: 0; width: 400px; height: 72px;overflow: hidden; user-select: none; position: relative; }
.lrcUl { position: relative; top: 0; margin: 0; padding: 0; }
.lrcUl li { margin: 0; padding: 0; height: 24px; font: normal 18px / 24px sans-serif; color: gray; text-shadow: 2px 2px 2px black; list-style-type: none; }
</style>


<div class="mama">
      <div class="lrcWrap">
                <p>学习黑黑LRC歌词同步编辑</p>
                <div class="lrcBox"><ul class="lrcUl"></ul></div>
                <div class="meterWrap">
                        <input class="btn" type="button" value="||" />
                        <div class="meter"><span class="slider"></span></div>
                </div>
      </div>
</div>
<audio class="aud" src="https://s1.ananas.chaoxing.com/sv-w9/audio/67/f7/67/90fac00d501c10e4212fc25e03992f10/audio.mp3" autoplay="autoplay" loop="loop"></audio>

<script>
let aud = document.querySelector('.aud'),
      btn = document.querySelector('.btn');
      meter = document.querySelector('.meter'),
      slider = document.querySelector('.slider'),
      lrcUl = document.querySelector('.lrcUl');
let slip = 0.25;
let lrcAr = [
        ['1.69','水墨丹青一世情 - 臻言'],
        ['12.75','词:陈柳霞 曲:浅笑'],
        ['19.14','编曲:烟雨憾'],
        ['34.54','宣纸盈香 留白情动'],
        ['41.50','与你有约 水墨相逢'],
        ['48.11','梅兰竹菊'],
        ['52.54','清雅只需一个懂'],
        ['56.19','高山流水思念尽在不言中'],
        ['64.32','工笔描绘你神韵灵动'],
        ['71.41','写意挥洒你飘逸音容'],
        ['77.83','心系兰舟'],
        ['82.16','雾散清愁小桥东'],
        ['85.91','笔走丹心烟绕楼榭影朦胧'],
        ['96.68','妙手浓淡'],
        ['100.58','飘逸山水中'],
        ['104.24','印章有意'],
        ['108.24','私藏你的梦'],
        ['111.94','不曾赋歌'],
        ['115.44','繁华早成空'],
        ['119.22','唯愿丹青素手'],
        ['123.11','舞动世间情'],
        ['126.75','人生如梦'],
        ['130.25','转眼各西东'],
        ['134.06','前途漫漫'],
        ['137.93','霜重枫叶红'],
        ['141.24','往事依旧'],
        ['145.16','看岁月葱茏'],
        ['148.72','卷轴慢收一声珍重在画中'],
                ['157.72','LRC编辑:小辣椒'],
        ['185.16','宣纸盈香 留白情动'],
        ['193.15','与你有约 水墨相逢'],
        ['199.61','梅兰竹菊'],
        ['203.96','清雅只需一个懂'],
        ['207.82','高山流水思念尽在不言中'],
        ['215.23','工笔描绘你神韵灵动'],
        ['222.67','写意挥洒你飘逸音容'],
        ['229.55','心系兰舟'],
        ['233.72','雾散清愁小桥东'],
        ['237.22','笔走丹心'],
        ['239.36','烟绕楼榭影朦胧'],
        ['248.64','妙手浓淡'],
        ['251.81','飘逸山水中'],
        ['255.67','印章有意'],
        ['259.68','私藏你的梦'],
        ['263.25','不曾赋歌'],
        ['266.53','繁华早成空'],
        ['270.67','唯愿丹青素手'],
        ['274.54','舞动世间情'],
        ['278.16','人生如梦'],
        ['281.64','转眼各西东'],
        ['285.21','前途漫漫'],
        ['288.93','霜重枫叶红'],
        ['292.55','往事依旧'],
        ['296.32','看岁月葱茏'],
        ['301.12','卷轴慢收一声珍重在画中'],
        ['307.48','卷轴慢收一声珍重在画中'],
        ['324.12','谢谢欣赏'],

];
for(j=0; j<lrcAr.length; j++){
        lrcUl.innerHTML += '<li style="list-style-type: none" id="li' + lrcAr + '">' + lrcAr + '</li>';
}

aud.addEventListener('timeupdate', () => {
      let prog = (meter.clientWidth - slider.clientWidth) * aud.currentTime / aud.duration;
      slider.style.transform = 'translate(' + prog + 'px)';
      let tt = aud.currentTime;
      for(j=0; j<lrcAr.length; j++){
                if(tt >= lrcAr - slip){
                        if(j > 0){
                              let idxLast = lrcAr;
                              document.getElementById('li' + idxLast).style.color = 'gray';
                              lrcUl.style.top = '-' + (j * 24 - 24) + 'px';
                        }
                        let idx = lrcAr;
                        document.getElementById('li' + idx).style.color = 'ghostwhite';
                }
      }
})

aud.addEventListener('ended', () => {
      document.getElementById("li" + lrcAr).style.color = 'gray';
      lrcUl.style.top = 0;
});

aud.addEventListener('pause', () => btn.value = '▷');
aud.addEventListener('play',() => btn.value = '||');

meter.onclick = (e) => {
      e = e || event;
      aud.currentTime = (e.clientX - offset(meter,"left")) * aud.duration / meter.clientWidth;
}

btn.onclick = () => aud.paused ? (aud.play(),btn.value = '||') : (aud.pause(),btn.value = '▷');

function offset(obj,direction){//位移量
      let offsetDir = "offset" + direction.toUpperCase()+direction.substring(1);
      let realNum = obj;
      let positionParent = obj.offsetParent;
      while(positionParent != null){
                realNum += positionParent;
                positionParent = positionParent.offsetParent;
      }
      return realNum;
}

btn.value = aud.paused ? '▷' : '||';

</script>
<br><br><br><br><br><br><br><br><br><br><br><br>

小辣椒 发表于 2022-6-11 17:02

@马黑黑
黑黑这个是昨天的教程,虽然没有很漂亮,作业都完成了{:4_173:}

绿叶清舟 发表于 2022-6-11 17:03

很漂亮的啊,是个好学生{:4_204:}{:4_189:}

小辣椒 发表于 2022-6-11 17:03

很喜欢这首歌,今天就做上了,图图做太丑,反正大家听到歌曲就好了{:4_173:}

小辣椒 发表于 2022-6-11 17:04

水墨丹青一世情 - 臻言

小辣椒 发表于 2022-6-11 17:07

绿叶清舟 发表于 2022-6-11 17:03
很漂亮的啊,是个好学生

清舟在啊,这个图图真的不咋的,找了现成的图裁剪一下加了几个图层就完来了,没有清舟做图来的精致

红影 发表于 2022-6-11 17:30

场景和人物选取都很漂亮。在山川大河里,一双人影相依相伴,不离不弃,很温馨{:4_187:}

红影 发表于 2022-6-11 17:31

毛玻璃效果在这样的场景下很美的,亲爱的真棒{:4_187:}

加林森 发表于 2022-6-11 17:34

好看好听,好制作!真漂亮。{:4_199:}

小辣椒 发表于 2022-6-11 17:38

加林森 发表于 2022-6-11 17:34
好看好听,好制作!真漂亮。

队长这个有没有小点点?我眼睛不好你帮我看看

加林森 发表于 2022-6-11 17:39

又出来一个了。{:4_203:}

加林森 发表于 2022-6-11 17:40

小辣椒 发表于 2022-6-11 17:38
队长这个有没有小点点?我眼睛不好你帮我看看

有一个的。

小辣椒 发表于 2022-6-11 17:46

加林森 发表于 2022-6-11 17:40
有一个的。

队长再帮我看看,我反正修改了代码,但自己看不见

加林森 发表于 2022-6-11 17:49

小辣椒 发表于 2022-6-11 17:46
队长再帮我看看,我反正修改了代码,但自己看不见

现在没有了。

小辣椒 发表于 2022-6-11 17:52

加林森 发表于 2022-6-11 17:49
现在没有了。

好的,谢谢队长{:4_187:}

小辣椒 发表于 2022-6-11 17:53

红影 发表于 2022-6-11 17:30
场景和人物选取都很漂亮。在山川大河里,一双人影相依相伴,不离不弃,很温馨

人物我加上去的,否则界面太灰暗了

小辣椒 发表于 2022-6-11 17:54

加林森 发表于 2022-6-11 17:39
又出来一个了。

队长,这个是黑黑分享的2个教程,不一样的

加林森 发表于 2022-6-11 18:03

小辣椒 发表于 2022-6-11 17:54
队长,这个是黑黑分享的2个教程,不一样的

知道的。

加林森 发表于 2022-6-11 18:03

小辣椒 发表于 2022-6-11 17:52
好的,谢谢队长

不客气的。

马黑黑 发表于 2022-6-11 18:28

这是用的我测试时的代码,三角形按钮没出来呢。

这个版本的 discuz!在JS里要用Unicode 三角形才能出来
页: [1] 2
查看完整版本: 水墨丹青一世情(学习黑黑歌词同步编辑)