|
|

楼主 |
发表于 2023-4-19 16:12
|
显示全部楼层
抄马老师的代码如下:谢谢@马黑黑 @朝云暮雨
<style>
#papa {
margin: -80px 0 0 calc(50% - 593px);
width: 1024px;
height: 640px;
background: lightblue url('https://638183.freep.cn/638183/t23/webp/mwrfsi2.webp') no-repeat center/cover;
box-shadow: 3px 3px 20px #000;
position: relative;
user-select: none;
z-index: 1;
--state: paused;
--opa: 1;
}
#papa::before, #papa::after {
position: absolute;
content: '';
width: 50%;
height: 100%;
background: url('https://638183.freep.cn/638183/t23/webp/mwrfsi1.webp') no-repeat center/cover;
opacity: var(--opa);
transition: opacity 1.2s;
}
#papa::after { left: 50%; transform: rotateY(180deg); }
#papa:hover { --opa: 0; }
#papa:fullscreen { animation: flash 8s linear infinite alternate; }
#fly {
position: absolute;
left: 50%;
width: 360px;
height: 200px;
animation: fly 100s infinite alternate var(--state);
}
.mplayer {
--tt: 6s;
position: absolute;
left: 0;
width: 200px;
height: 200px;
border-radius: 50%;
transform: perspective(1000px) rotateX(45deg) rotateY(30deg);
animation: rot var(--tt) linear infinite var(--state);
cursor: pointer;
transition: .45s;
z-index: 2;
}
.mplayer:hover { filter: drop-shadow(0 0 80px snow) brightness(200%); }
.mplayer:nth-of-type(2) {
--tt: 4s;
left: 210px;
width: 150px;
height: 150px;
}
.mplayer:nth-of-type(3) {
--tt: 2s;
left: 130px;
width: 100px;
height: 100px;
}
@keyframes rot { to { transform: perspective(1000px) rotateX(45deg) rotateY(30deg) rotateZ(360deg); } }
@keyframes fly { to { left: calc(100% - 360px); } }
@keyframes flash { from { --opa: 1; } to { --opa: 0; } }
</style>
<div id="papa">
<div id="fly">
<img class="mplayer" src="https://638183.freep.cn/638183/t23/1/toui.png" alt="" />
<img class="mplayer" src="https://638183.freep.cn/638183/t23/1/toui.png" alt="" />
<img class="mplayer" src="https://638183.freep.cn/638183/t23/1/toui.png" alt="" />
</div>
</div>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1335968349.mp3" loop autoplay></audio>
<script>
(function() {
(function(mkFS) {let setFullScreen = (user_set) => {let pa = user_set.pa;if(typeof(pa) !== 'object') return false;if(!user_set.set) user_set.set = 'color: snow; background: black; border: 2px solid snow; left: 40px; bottom: 40px;';btnMsg = document.createElement('span');btnMsg.style.cssText = `position: absolute; border-radius: 8px; padding: 4px; cursor: pointer; z-index:998; ${user_set.set}`;btnMsg.innerText = '全屏观赏';btnMsg.style.display = 'none';pa.appendChild(btnMsg);let timerId, fs = false;btnMsg.onclick = () => fs ? document.exitFullscreen() : pa.requestFullscreen();pa.addEventListener('mousemove', (e) => {clearTimeout(timerId);btnMsg.style.display = 'block';timerId = setTimeout('btnMsg.style.display = "none"', 3000);});document.addEventListener('fullscreenchange', () => {if (document.fullscreenElement !== null) {fs = true;btnMsg.innerText = '退出全屏';} else {fs = false;btnMsg.innerText = '全屏观赏';}});};mkFS.FS = setFullScreen;})(this);
let mState = () => papa.style.setProperty('--state', aud.paused ? 'paused' : 'running');
let btns = document.querySelectorAll('.mplayer');
[...btns].forEach((item) => item.onclick = () => aud.paused ? aud.play() : aud.pause());
aud.addEventListener('play', () => mState());
aud.addEventListener('pause', () => mState());
FS({
pa:papa,
set:'right: 20px; bottom: 20px; background: transparent; color: snow; border: 2px solid snow;',
});
aud.onerror = () => {
if(aud.error.code === 4) aud.src = 'http://www.kumeiwp.com/sub/filestores/2023/02/24/e2bf972fc421ee7cde43dcb8e2338ddd.mp3';
}
})();
</script>
|
|