|
<style>
#mydiv {
margin: 130px 0 30px calc(50% - 881px);
width: 1600px;
height: 900px;
background: url('http://qslt.net/data/attachment/forum/202407/26/225914r5yd9nbacrmzda99.webp') no-repeat center/cover;
box-shadow: 1px 1px 8px #000, 0 0 0 1px silver;
overflow: hidden;
z-index: 1;
position: relative;
}
#player {
position: absolute;
left: 10px;
top: 10px;
width: 160px;
height: 160px;
transition: 3s;
filter: invert(1) drop-shadow(10 0 24px ForestGreen);
cursor: pointer;
animation: rot 5s linear infinite var(--state);
}
#player:hover { filter: invert(.8) drop-shadow(0 0 24px red); }
#vid1 {
position: absolute;
bottom: 0;
width: 100%;
height: calc(100% + 100px);
object-fit: cover;
pointer-events: none;
mix-blend-mode: screen;
}
#vid2 {
position: absolute;
bottom: 0;
width: 100%;
height: calc(100% + 100px);
object-fit: cover;
pointer-events: none;
mix-blend-mode: screen;
}
@keyframes rot { to { transform: rotate(360deg); } }
</style>
<div id="mydiv">
<video id="vid1" src="https://img.tukuppt.com/video_show/2269348/00/14/17/5e1c8201ef2f7.mp4" loop muted></video>
<video id="vid2" src="https://img.tukuppt.com/video_show/15653652/00/79/86/60c98c8146068.mp4" loop muted></video>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=1411532260&userid=1411532260" autoplay loop></audio>
<img id="player" src="https://gd-hbimg.huaban.com/7e3a0d4ad64f1b51a7d14c32d060b9bc5d96390456201-vRhA2i" alt="" />
</div>
<script>
(function() {
let timer = null, sF = document.createElement('script');
sF.src = 'https://638183.freep.cn/638183/web/api/fullscreen.js';
sF.charset = 'utf-8';
document.querySelector('body').appendChild(sF);
sF.onload = () => FS({papa: '#mydiv'});
mydiv.onmousemove = function(e) {
clearTimeout(timer);
timer = setTimeout(function() {
if(e.target.id === 'player') return;
let x = e.offsetX | e.layerX, y = e.offsetY | e.layerY, sw = player.offsetWidth;
if(x < 0) x = 0;
if(x > mydiv.offsetWidth - sw) x = mydiv.offsetWidth - sw;
if(y < 0) y = 0;
if(y > mydiv.offsetHeight - sw) y = mydiv.offsetHeight - sw;
player.style.cssText += `left: ${x}px; top: ${y}px`;
}, 400);
}
let mState = () => aud.paused
? (mydiv.style.setProperty('--state','paused'), vid1.pause(), vid2.pause())
: (mydiv.style.setProperty('--state','running'), vid1.play(), vid2.play());
aud.addEventListener('playing', mState);
aud.addEventListener('pause', mState);
player.onclick = () => aud.paused ? aud.play() : aud.pause();
})();
</script>
|
|