《云水情》- 云飞/郭津彤
本帖最后由 加林森 于 2022-7-6 18:45 编辑 <br /><br /><style>#ma { left: -342px; width: 1280px; height: 720px; background: #000 url('https://pic.imgdb.cn/item/62c51ea55be16ec74ae244fc.jpg') no-repeat; perspective: 1000px; box-shadow: 2px 2px 20px #000; position: relative; }
#circle { position: absolute; width: 100px; height: 100px; top: 10px; right: 10px; border-radius: 50%; background: red linear-gradient(120deg, lightgreen, transparent); mask-image: radial-gradient(circle at 30% 30%,transparent 20%, red); -webkit-mask-image: radial-gradient(circle at 30% 30%,transparent 20%, red); cursor: pointer; z-index: 100; }
#ma input { border: none; outline: none; opacity: .75; cursor: pointer; }
#ma p { margin: 0; padding: 0; }
#playbox { position: absolute; left: 10px; bottom: 10px; padding: 10px; font: normal 1em sans-serif; color: tomato; text-shadow: 1px 1px 1px #000; background: transparent; border-radius: 8px; overflow: hidden; box-shadow: 1px 1px 2px rgba(0,0,0,.15); z-index: 100; }
#playbox::before { position: absolute; content: ''; margin: -20px; left: 0; top: 0; right: 0; bottom: 0; background: rgba(255,255,255,.45); filter: blur(2px); z-index: -1; }
#btnplay { width: 30px; height: 30px; border-radius: 50%; }
#btnplay:hover { background: #aaa; color: #ff0000; }
.pics {position: absolute; width: 256px; box-shadow: inherit; transform-style: preserve-3d; display: none; opacity: .65; transition: all .5s; }
.pics:hover { width: 300px; opacity: 1; cursor: pointer; }
@keyframes drop { from { transform: translateY(10px); } to { transform: translateY(488px); } }
@keyframes up { from { transform: translateY(488px); } to { transform: translateY(10px); } }
</style>
<div id="ma">
<div id="circle"></div>
<div id="playbox">
<p id="geci" style="font-size: 1.2em">云水情 - 云飞/郭津彤</p>
<p style="display: flex; align-items: center; gap: 4px; margin-top: 10px;">
<input id="btnplay" type="button" value=">" />
<input id="slider" type="range" min="0" max="100" value="0" />
<span id="per">0%</span>
</p>
</div>
</div>
<audio id="aud" src="https://www.joy127.com/url/5735.mp3" autoplay="autoplay" loop="loop"></audio>
<script>
let flag = 1;slip = 0, idxar = [];
let imgAr = [
'https://pic.imgdb.cn/item/62c3c1b05be16ec74a502e47.jpg',
'https://pic.imgdb.cn/item/62c3c2535be16ec74a50f117.jpg',
'https://pic.imgdb.cn/item/62c3c2c15be16ec74a516d0b.jpg',
'https://pic.imgdb.cn/item/62c3c35b5be16ec74a522ebd.jpg',
'https://pic.imgdb.cn/item/62c3c4125be16ec74a5309b4.jpg',
'https://pic.imgdb.cn/item/62c3c4845be16ec74a539110.jpg'
];
let lrcAr = [
['2.87','云水情 '],
['4.18','词:李长鸿'],
['5.67','曲:孟文豪'],
['6.73','发行:星橙时代'],
['20.24','草原晨风 唤醒黎明'],
['27.41','那是你醉人的歌声'],
['34.63','月光奏鸣 漫天繁星'],
['41.83','伴着你的琴声入梦'],
['49.20','马蹄阵阵 纵情驰骋'],
['55.92','激荡你胸中的豪情'],
['62.99','归雁声声 敲打窗棂'],
['70.96','好似你温柔的叮咛'],
['78.33','我思念的爱人啊'],
['85.25','可否听见我心中的深情'],
['92.51','我思念的爱人啊'],
['99.65','你的声音是最美的风景'],
['108.08','听天籁云在等'],
['110.45','听流水映晴空'],
['114.50','愿天地永相爱'],
['118.14','深深云水情'],
['122.20','听风雨伴君行'],
['125.33','听山水共和声'],
['129.08','愿天下有情人'],
['132.82','共此一生情'],
['156.46','马蹄阵阵 纵情驰骋'],
['163.02','激荡你胸中的豪情'],
['170.92','归雁声声 敲打窗棂'],
['178.21','好似你温柔的叮咛'],
['185.50','我思念的爱人啊'],
['192.74','可否听见我心中的深情'],
['199.61','我思念的爱人啊'],
['206.82','你的声音是最美的风景'],
['214.72','我思念的爱人啊'],
['221.83','可否听见我心中的深情'],
['229.15','我思念的爱人啊'],
['236.00','你的声音是最美的风景'],
['243.82','听天籁云在等'],
['247.25','听流水映晴空'],
['250.88','愿天地永相爱'],
['254.42','深深云水情'],
['258.42','听风雨伴君行'],
['261.80','听山水共和声'],
['265.39','愿天下有情人'],
['269.01','共此一生情'],
['275.78','愿天下有情人'],
['279.96','共此一生情']
];
let gnum = (min,max) => Math.floor(Math.random()*(max-min+1))+min;
imgAr.forEach((item,key) => {
item = document.createElement('img');
item.className = 'pics';
item.src = imgAr ; + '.jpg';
item.style.left = key * 190 + 30 + 'px';
item.style.top = gnum(40, 200) + 'px';
item.style.transform = 'rotateY(' + gnum(25,45) +'deg)';
item.alt = '';
ma.appendChild(item);
});
circle.onmouseover = () => {
let pics = document.querySelectorAll('.pics')
if(flag == 1) {
circle.style.animation = 'drop .5s forwards ease-in',
pics.forEach((ele) => ele.style.display = 'block');
flag = 0;
} else {
circle.style.animation = 'up .5s forwards ease-out';
pics.forEach((ele) => ele.style.display = 'none');
flag = 1;
}
}
slider.onmousedown = () => aud.pause();
slider.onchange = () => { aud.currentTime = slider.value * aud.duration / 100; aud.play(); }
btnplay.onclick = () => aud.paused ? aud.play() : aud.pause();
aud.addEventListener('playing', () => btnplay.value = '||');
aud.addEventListener('pause', () => btnplay.value = '>');
aud.addEventListener('timeupdate', () => {
let prog = 100 * aud.currentTime / aud.duration;
slider.value = prog;
per.innerText = toMin(aud.currentTime) + ' | ' + toMin(aud.duration);
for(j=0; j<lrcAr.length; j++){
if(aud.currentTime >= lrcAr - slip){
geci.innerHTML = lrcAr;
}
}
});
let toMin = (sec) => {
if(!sec) return '0:00';
sec = parseInt(sec);
return parseInt(sec / 60) + ':' + parseFloat(sec % 60).toString().padStart(2,'0');
}
</script>
@马黑黑 我这个歌词放不出来呢? 队长也是快的啊,又出一个新的了 加林森 发表于 2022-7-5 20:15
@马黑黑 我这个歌词放不出来呢?
这个模板不处理歌词。你需要把如下这段代码,
aud.addEventListener('timeupdate', () => {
let prog = 100 * aud.currentTime / aud.duration;
slider.value = prog;
per.innerText = toMin(aud.currentTime) + ' | ' + toMin(aud.duration);
});
换成,
aud.addEventListener('timeupdate', () => {
let prog = 100 * aud.currentTime / aud.duration;
slider.value = prog;
per.innerText = toMin(aud.currentTime) + ' | ' + toMin(aud.duration);
for(j=0; j<lrcAr.length; j++){
if(aud.currentTime >= lrcAr - slip){
geci.innerHTML = lrcAr;
}
}
}); 绿叶清舟 发表于 2022-7-5 20:18
队长也是快的啊,又出一个新的了
嗯嗯,跟到学习。好奇怪的,怎么歌词不出来了啊?晕~~~~~~~~~~~~ 加林森 发表于 2022-7-5 20:21
嗯嗯,跟到学习。好奇怪的,怎么歌词不出来了啊?晕~~~~~~~~~~~~
代码换了 教授和男女对唱干上了!{:5_116:} 马黑黑 发表于 2022-7-5 20:19
这个模板不处理歌词。你需要把如下这段代码,
aud.addEventListener('timeupdate', () => {
谢谢老黑了。我在制作时就感到可能代码出问题了。现在终于明白了。 绿叶清舟 发表于 2022-7-5 20:24
代码换了
是的。歌词我本来就做好了的。 醉美水芙蓉 发表于 2022-7-5 20:46
很漂亮呢!队长辛苦了!
不辛苦的。谢谢水芙蓉! 东篱闲人 发表于 2022-7-5 20:54
教授和男女对唱干上了!
别乱说啊,他们是夫妻 加林森 发表于 2022-7-5 21:05
别乱说啊,他们是夫妻
俺说的意思你在主攻这一类的作品?你咋想的?{:5_115:} 东篱闲人 发表于 2022-7-5 21:13
俺说的意思你在主攻这一类的作品?你咋想的?
不是,是今天听见感觉好听就 制作开始了。 醉美水芙蓉 发表于 2022-7-5 20:46
很漂亮呢!队长辛苦了!
谢谢水芙蓉! 加林森 发表于 2022-7-5 20:56
谢谢老黑了。我在制作时就感到可能代码出问题了。现在终于明白了。
是否处理歌词,但 audio 的 timeupdate 监听事件 马黑黑 发表于 2022-7-5 21:29
是否处理歌词,但 audio 的 timeupdate 监听事件
嗯嗯,我以后会记住的。{:5_108:} 队长好~~~完成了,队长好棒!{:4_178:} 队长的小图会逃出界面{:4_173:} 小辣椒 发表于 2022-7-5 21:31
队长好~~~完成了,队长好棒!
谢谢你。