绿叶清舟 发表于 2023-1-24 23:04

2023


<style>
#papa { margin: 0 0 0 calc(50% - 593px); display: grid; place-items: center; width: 1024px; height: 670px; background: gray url('https://pic.imgdb.cn/item/63cfe780588a5d166cde2399.jpg') no-repeat center/cover; background-blend-mode: normal, color; box-shadow: 3px 3px 20px #000; overflow: hidden; user-select: none; position: relative; perspective: 3000px; z-index: 1; }
#papa::before, #papa::after { position: absolute; content: ''; pointer-events: none; }

#papa::after { content: '2023'; font: bold 2.6em / 2.6em sans-serif; color: orange; text-shadow: 2px 2px 4px black; left: 720px; top: 20px;; }
</style>

<div id="papa"></div>

<script >
(function() {
        (function(mkPlayer) {let defaults = {player_css: 'bottom: 0; left: 50%; transform: translateX(-50%);',mlist_css: 'top: 0; left: 0;',fs_btn: 'left: 0; top: 0;',playerCode: `

<style>#mplayer {position: absolute;display: grid;grid-template-areas: 'cur btnplay dur''prog prog prog';gap: 8px 2px;place-items: end center;color: var(--color);font: normal 16px sans-serif;padding-bottom: 20px;z-index: 999;--ww: 900px;--color: Crimson;--track: Crimson;--prog: linear-gradient(90deg,hsla(348,91%,86%,.55),hsla(280,40%,50%,.75),Crimson);}
#cur { grid-area: cur; color: var(--color); }
#dur { grid-area: dur; color: var(--color); }
#btnplay {--state: paused;grid-area: btnplay;background: conic-gradient(#000000,#969696,#000000,#969696,#000000);mask: radial-gradient(transparent 3px,red 0);-webkit-mask: radial-gradient(transparent 3px,red 0);border-radius: 50%;width: 45px;height: 45px;cursor: pointer;animation: rot linear 3s infinite;animation-play-state: var(--state); position: relative; left: -480px; bottom: -6px;}
#prog {--xx: 0px;grid-area: prog;width: var(--ww);height: 4px;background: var(--track);position: relative;display: grid;place-items: center;border-radius: 4px;}
#prog::before, #prog::after { position: absolute; content: ''; }
#prog::before {left: 0;width: var(--xx);height: 100%;border-radius: 6px;background: var(--prog);border-radius: 4px;}
#prog::after {left: calc(var(--xx) - 12px);opacity: .85;width: 16px;height: 16px;background: radial-gradient(transparent 2px, teal 0, black);border-radius: 50%;cursor: pointer;}
#mlist { --color1: lightgreen; --color2: pink;position: absolute; padding: 20px; }
#mlist > a { color: var(--color1); cursor: pointer; text-shadow: 1px 1px 2px black; text-decoration: none; }
#mlist >a:hover { color: var(--color2); }.sColor { color: var(--color2); }
#btnMsg {position: absolute;color: snow;background: black;opacity: 0;border: 2px solid snow;border-radius: 8px;padding: 4px;transition: all .75s;cursor: pointer;z-index: 1000;}
@keyframes rot { to { transform: rotate(1turn); } }</style>
<div id="mlist"></div><div id="mplayer"><span id="btnplay"></span><span id="prog"></span><span id="cur">00:00</span><span id="dur">00:00</span></div>

<span id="btnMsg">全屏观赏</span>`,};let playCode = (user_config) => {let data = Object.assign({}, defaults, user_config);papa.innerHTML += data.playerCode;mplayer.style.cssText += data.player_css;mlist.style.cssText += data.mlist_css;btnMsg.style.cssText += data.fs_btn;let mDrag = false, timerId, fs = false;let aud = document.createElement('audio');papa.appendChild(aud);(function addList() {let str = '';data.m_ar.forEach( (item,key) => {str += `<a onclick="javascript:mplay(${key})">${key+1} ${data.m_ar}</a><br>`;});mlist.innerHTML = str;})();btnplay.onclick = () => aud.paused ? aud.play() : aud.pause();btnMsg.onclick = () => fs ? document.exitFullscreen() : papa.requestFullscreen();papa.onmousemove = (e) => {clearTimeout(timerId);btnMsg.style.opacity = '.95';timerId = setTimeout('btnMsg.style.opacity = "0"', 3000);};aud.addEventListener('timeupdate', () => {cur.innerText = toMin(aud.currentTime);dur.innerText = toMin(aud.duration);if(mDrag===false) prog.style.setProperty('--xx', aud.currentTime * prog.offsetWidth / aud.duration + 'px');});aud.addEventListener('pause', () => mState());aud.addEventListener('play', () => mState());aud.addEventListener('ended', () => mplay());aud.onerror = () => mplay();prog.onmousedown = () => mDrag = true;document.onmouseup = () => mDrag = false;mplayer.onmouseup = (e) => { if(mDrag) aud.currentTime = aud.duration * e.offsetX / prog.offsetWidth; };mplayer.onmousemove = (e) => { if(mDrag) moveBar(e.offsetX); };let mState = () => aud.paused ? btnplay.style.setProperty('--state', 'paused'): btnplay.style.setProperty('--state', 'running');mplay = (idx=-1) => {if (idx < 0) idx = Math.floor(Math.random() * data.m_ar.length);aud.src = data.m_ar;aud.play();setRed(idx);};document.addEventListener("fullscreenchange", () => {if (document.fullscreenElement !== null) {fs = true;btnMsg.innerText = '退出全屏';} else {fs = false;btnMsg.innerText = '全屏观赏';}});let setRed= (idx) => {let str = mlist.innerHTML;str = str.replace(/<\/?span[^\>]*\>/g,'');str = str.replace(`${idx+1} ${m_ar}`, `${idx+1} <span class="sColor">${m_ar}</span>`);mlist.innerHTML = str;};let moveBar = (x) => {if(x < 0) x = 0;if(x > prog.offsetWidth - 5) x = prog.offsetWidth - 5;prog.style.setProperty('--xx', x + 'px');};let toMin = (val) => {if (!val) return '00:00';val = Math.floor(val);let min = parseInt(val / 60), sec = parseFloat(val % 60);if (min < 10) min = '0' + min;if (sec < 10) sec = '0' + sec;return min + ':' + sec;};mplay();};mkPlayer.HCPlayer = playCode;})(this);
        let m_ar = [
                ['http://music.163.com/song/media/outer/url?id=2015293816.mp3','春天2023 - 田震'],
                ['http://music.163.com/song/media/outer/url?id=2013420830.mp3','百战成诗2023 '],
                ['http://music.163.com/song/media/outer/url?id=2016385347.mp3','你好,陌生人 '],
                ['http://music.163.com/song/media/outer/url?id=2016388051.mp3','百鸟归巢 - 谭维维'],
                ['http://music.163.com/song/media/outer/url?id=2016385428.mp3','未来我来'],
                ['http://music.163.com/song/media/outer/url?id=2016388224.mp3','花开忘忧'],               
        ];

        HCPlayer({
                m_ar: m_ar,
                mlist_css: '--color1: Crimson; --color2: orange; top: 100px; right: 180px;',
                fs_btn: 'left: 20px; top: 80px; background: #222;',
        });
})();
</script>

庶民来了 发表于 2023-1-25 09:10

美妙的好东东,点赞!春节快乐!

梦油 发表于 2023-1-25 09:27

分享快乐、祝福清舟!

海笑 发表于 2023-1-25 09:38

欣赏了美妙音乐!

红影 发表于 2023-1-25 12:50

哈哈,分享收藏什么的都是假啊啊,原来是清舟的截图。清舟真会玩{:4_170:}

绿叶清舟 发表于 2023-1-25 16:22

红影 发表于 2023-1-25 12:50
哈哈,分享收藏什么的都是假啊啊,原来是清舟的截图。清舟真会玩

真点了啊,在做时就想有人可能会去点那些了,真真假假才好玩嘛{:4_189:}

绿叶清舟 发表于 2023-1-25 16:22

海笑 发表于 2023-1-25 09:38
欣赏了美妙音乐!

谢谢海笑,新年快乐

绿叶清舟 发表于 2023-1-25 16:22

梦油 发表于 2023-1-25 09:27
分享快乐、祝福清舟!

谢谢梦油,新年吉祥

绿叶清舟 发表于 2023-1-25 16:23

庶民来了 发表于 2023-1-25 09:10
美妙的好东东,点赞!春节快乐!

谢谢庶民,新年快乐

梦油 发表于 2023-1-25 17:36

绿叶清舟 发表于 2023-1-25 16:22
谢谢梦油,新年吉祥

清舟快乐

绿叶清舟 发表于 2023-1-25 20:43

梦油 发表于 2023-1-25 17:36
清舟快乐

我们一起快乐了

红影 发表于 2023-1-25 22:31

绿叶清舟 发表于 2023-1-25 16:22
真点了啊,在做时就想有人可能会去点那些了,真真假假才好玩嘛

哈,看到图标忍不住就去点了,想想真好玩{:4_170:}

梦油 发表于 2023-1-26 13:09

绿叶清舟 发表于 2023-1-25 20:43
我们一起快乐了

对,我们一起开心。我们一起欢乐。

绿叶清舟 发表于 2023-1-26 19:00

红影 发表于 2023-1-25 22:31
哈,看到图标忍不住就去点了,想想真好玩

想整个专辑模板的,以后换音乐就能用了

绿叶清舟 发表于 2023-1-26 19:00

梦油 发表于 2023-1-26 13:09
对,我们一起开心。我们一起欢乐。

嗯2023要天天乐

梦油 发表于 2023-1-26 20:00

绿叶清舟 发表于 2023-1-26 19:00
嗯2023要天天乐

对,把忧愁事,烦心事抛得老远老远。

绿叶清舟 发表于 2023-1-26 21:14

梦油 发表于 2023-1-26 20:00
对,把忧愁事,烦心事抛得老远老远。

是啊,今年必须有个新的开始了

梦油 发表于 2023-1-27 16:09

绿叶清舟 发表于 2023-1-26 21:14
是啊,今年必须有个新的开始了

对,新年新气象嘛!

大猫咪 发表于 2023-1-28 19:40

都是好听的歌,清舟好分享 {:4_187:} 又是新一年了,清舟愿你生活美满快乐多,吉祥如意{:4_204:}

绿叶清舟 发表于 2023-1-29 19:27

大猫咪 发表于 2023-1-28 19:40
都是好听的歌,清舟好分享又是新一年了,清舟愿你生活美满快乐多,吉祥如意

猫来了啊,新年好愿你今年年底不要这么忙了{:4_189:}
页: [1] 2
查看完整版本: 2023