海来阿木 - 一次离别 TO:黑黑(套用黑黑的金凤凰效果)
<style>.papa { left: -302px; width: 1200px; height: 597px; top:150px;border-radius: 6px; background: tan url('https://wx.ttt.dj/updir/62bfbdfb88e18.gif') no-repeat center/cover; overflow: hidden; box-shadow: 4px 4px 8px #000; position: relative; }
.papa::before, .papa::after { position: absolute; content: ''; border-radius: inherit; width: 50%; height: 100%; transition: all 2s linear; }
.papa::before { background: tan url('https://wx.ttt.dj/updir/62bfbe20566cd.jpg') no-repeat center/cover; }
.papa::after { left: 50%; background: tan url('https://wx.ttt.dj/updir/62bfbe43f327c.jpg') no-repeat center/cover; }
.papa:hover::before { transform: translateX(-100%) ; (15deg); }
.papa:hover::after { transform: translateX(100%);(-15deg); }
.papa input { border: none; outline: none; opacity: .75; cursor: pointer; }
.papa p { margin: 0; padding: 0; }
.playbox { position: absolute; left: calc(50% - 130px); top: 480px; padding: 10px; font: normal 1em sans-serif; color: purple; background: transparent;border-radius: 8px; overflow: hidden; box-shadow: 1px 1px 2px rgba(0,0,0,.15); z-index: 1; }
.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; }
</style>
<div class="papa">
<div class="playbox">
<p id="geci">LRC Loading ... </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>
<audio id="aud" src="https://wx.ttt.dj/updir/62bfed8294765.mp3" autoplay="autoplay" loop="loop"></audio>
</div>
<script>
let slider = document.querySelector('#slider'),
aud = document.querySelector('#aud'),
per = document.querySelector('#per'),
btnplay = document.querySelector('#btnplay'),
geci = document.querySelector('#geci');
let slip = 0; //误差值
let lrcAr = [
['0.00',' 一次离别 (DJ名龙版)'],
['20.00',' 歌手:海来阿木'],
['40.00','帖赠:黑黑'],
['160.00','编辑制作:小辣椒'],
['180.00','一生回味一面']
];
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>
<br><br><br><br><br><br><br><br> @马黑黑
黑黑,匆匆忙忙做的,音乐忘记转换直接上传了,明天去转换重新换链接,现在是上传无损音乐。。。。。特别的好听{:4_208:} 一次离别 (DJ音乐)
歌手:海来阿木
我感觉这个应该是幕布拉开,后台出来,所以就这样做一个效果 这个舞台效果真漂亮 小辣椒 发表于 2022-7-2 11:59
我感觉这个应该是幕布拉开,后台出来,所以就这样做一个效果
可以的 小辣椒 发表于 2022-7-2 11:56
@马黑黑
黑黑,匆匆忙忙做的,音乐忘记转换直接上传了,明天去转换重新换链接,现在是上传无损音乐。。 ...
音质特好 绿叶清舟 发表于 2022-7-2 12:07
这个舞台效果真漂亮
清舟在啊{:4_171:} 马黑黑 发表于 2022-7-2 12:08
可以的
我也是瞎想,尽量现成的图图{:4_173:} 马黑黑 发表于 2022-7-2 12:09
音质特好
是的,本来上传无损也是无所谓的,但盗用的人太可怕。。。。明天换链接,或者晚上换,现在就这样听了 小辣椒 发表于 2022-7-2 12:11
我也是瞎想,尽量现成的图图
其实,舞台幕布可以平拉,把 translate(x, y) 改为 translateX(x) 即可 小辣椒 发表于 2022-7-2 12:12
是的,本来上传无损也是无所谓的,但盗用的人太可怕。。。。明天换链接,或者晚上换,现在就这样听了
非常好的 马黑黑 发表于 2022-7-2 12:13
其实,舞台幕布可以平拉,把 translate(x, y) 改为 translateX(x) 即可
我刚才是在想怎么可以平拉开,现在去试一下 马黑黑 发表于 2022-7-2 12:13
其实,舞台幕布可以平拉,把 translate(x, y) 改为 translateX(x) 即可
ranslate(-100%,-100%)
这个100%怎么改呢 马黑黑 发表于 2022-7-2 12:13
其实,舞台幕布可以平拉,把 translate(x, y) 改为 translateX(x) 即可
我刚才是想改这个的otate(-15deg); 一个rotate(15deg); 小辣椒 发表于 2022-7-2 12:21
我刚才是想改这个的otate(-15deg); 一个rotate(15deg);
平拉的话 rotate 要去掉,不过你可以试试,以帮助理解 rotate 和 translate 搭配使用的效果 小辣椒 发表于 2022-7-2 12:19
ranslate(-100%,-100%)
这个100%怎么改呢
100%用负值,针对 translateX 来讲,说左啦,用正值,是往右边拉;针对 translateY ,则对应上拉和下拉。
translate(单值) 时值 translateX,水平方向变换;translage(值1, 值2) 表示,值1,水平方向,值2,垂直方向 小辣椒 发表于 2022-7-2 12:17
我刚才是在想怎么可以平拉开,现在去试一下
边做边领会就好 马黑黑 发表于 2022-7-2 12:27
100%用负值,针对 translateX 来讲,说左啦,用正值,是往右边拉;针对 translateY ,则对应上拉和下拉。 ...
黑黑我自己电脑预览还是不够平行,帖上你看看效果 马黑黑 发表于 2022-7-2 12:24
平拉的话 rotate 要去掉,不过你可以试试,以帮助理解 rotate 和 translate 搭配使用的效果
好的,我再去测试一下