|
|

楼主 |
发表于 2022-11-13 07:08
|
显示全部楼层
关于双语同步:
一、歌词数组结构
let lrcAr = [
[18.21, "原文歌词<br>翻译歌词",4.3],
//......
];
用折行标签 <br> 将两种语言的歌词隔开。
二、JS对歌词的处理 :歌词显示函数 showLrc() 的改动
let showLrc = (time) => {
let name = mFlag ? 'cover1' : 'cover2';
lrc.innerHTML = lrcAr[mKey][1];
lrc.dataset.lrc = lrcAr[mKey][1].replace(/<br>/, '\n');
lrc.style.setProperty('--motion', name);
lrc.style.setProperty('--tt', time + 's');
lrc.style.setProperty('--state', 'running');
mKey += 1;
mFlag = !mFlag;
};
变化仅红色语句,主要是处理伪元素的 attr 接收文本属性的问题,用 \n 替换 <br> ,“\n” 是换行符号。
三、CSS 中 lrc::before 的改变:
伪元素通过 attr 接收 \n 为换行符需要一个前提,就是 white-space 属性,之前我们设置为 nowrap,现在要改为 pre,就这一个地方的变化 :
white-space: pre; |
评分
-
| 参与人数 1 | 威望 +50 |
金钱 +100 |
经验 +50 |
收起
理由
|
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|