帖子代码
<style>
#papa { margin: 20px 0 20px calc(50% - 641px); width: 1280px; height: 720px; background: #68b9ac; box-shadow: 3px 3px 6px rgba(0, 0, 0, .5); position: relative; }
#mama { position: absolute; width: 100%; height: 100%; }
#background { display: none; }
#player { position: absolute; left: calc(50% - 60px); bottom: 20px; cursor: pointer; z-index: 100; opacity: .75; animation: rot 10s linear infinite var(--state); }
@keyframes rot { to { transform: rotate(1turn); } }
</style>
<div id="papa">
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=410161058" autoplay loop></audio>
<!-- mama是约束水珠的载体,它需要通过CSS设置为绝对定位 -->
<div id="mama"></div>
<img id="player" src="https://638183.freep.cn/638183/small/4yc.png" width="120" height="120" alt="" />
</div>
<script>
var engine;
var sF = document.createElement('script');
sF.src = 'https://638183.freep.cn/638183/web/js/rainyday.js';
document.body.appendChild(sF);
sF.onload = function() {
var image = new Image();
image.crossOrigin = 'anonymous';
image.onload = function() {
engine = new RainyDay({
image: this,
parentElement: mama,
});
var canv = document.querySelector('#papa canvas');
canv.style.cssText += 'left: 0; top: 0';
mState();
};
//图片地址(需支持跨域)
image.src = 'https://638183.freep.cn/638183/t24/2/f11.jpeg';
var mState = () => {
papa.style.setProperty('--state', aud.paused ? 'paused' : 'running');
aud.paused ? engine.pause() : engine.resume();
};
aud.onplaying = aud.onpause = () => mState();
player.onclick = () => aud.paused ? aud.play() : aud.pause();
};
</script>
|