请马老来控制雨
本帖最后由 亚伦影音工作室 于 2024-11-25 06:03 编辑 <br /><br /><style type="text/css">.mnBox {
top: 50px;
position: relative;
background: #333 url('https://pic.imgdb.cn/item/6731a660d29ded1a8c3ce42e.webp') no-repeat center/cover;
height: 726px;
width: 1285px;
left: -340px;overflow: hidden;
border: 1px solid;
box-shadow: 0px 0px 0px 2px tan;
}
.mnBox iframe {
position: absolute;
left: -48px;;
top: calc(100% - 50px);
clip-path: circle(16px at 271px);
opacity: 0.8;
}
.rain {
width: 1px;
height: 8px;
top: -5px;
left: 200px;
background: #eee;
position: relative;
display: block;
animation: rain 0.5s linear infinite;
}
.rain::before, .rain::after{
content: "";
position: absolute;
left: 10px;
top: -120px;
width: 1px;
height: 10px;
background: #eee;
}
.rain::after { height: 12px; left: -70px; top: 50px; }
.circle {
position:absolute;
width: 3px;
height: 1px;
left: 85px;
top: 90%;
background:none;
border: 1px solid #FFF;
border-radius: 50%;
animation:circle 2s ease-out infinite;
}
@keyframes circle {
0% { width:0; height:0; }
50% { opacity:0.1; width:2%; height:2%; }
60% { opacity:0.2; width:2%; height:2%; }
100% { opacity:0; width:2%; height:2%; }
}
@keyframes rain {
0% { opacity:0.5; }
100% { opacity:0.5; top:40%;}
}
#player {
position: absolute;z-index: 40;
left:105px;
bottom: 50px;
width: 150px;
height: 150px;
opacity: 1;
transition: .4s;
display: grid;
place-items: center;
--sp1: 0; --sp2: 1;
}
#player::before, #player::after {
position: absolute;
content: '';
cursor: pointer;
transition: .4s;
}
#player::before {width: 150px;height: 150px;background:url(https://pic.imgdb.cn/item/65f0d8669f345e8d03ff5c34.png)no-repeat center/cover;
opacity: var(--sp1);}
#player::after {width: 150px;height: 150px;background:url(https://pic.imgdb.cn/item/65f0d8299f345e8d03ff0b31.gif)no-repeat center/cover;
opacity: var(--sp2);}
</style>
<divclass="mnBox"id="mnBox">
<div id="player" title="暂停/播放" ></div>
<span class="rain"></span>
<span class="circle"></span>
<audio id="aud" src="https://s2.ananas.chaoxing.com/sv-w7/audio/b7/4d/a0/4da04054a721151e338e2f10b3c39c64/audio.mp3" autoplay loop>
</div>
<script >
function rain() {
var str = "";
for(i=0; i<50; i++) {
var l = Math.ceil(Math.random()*1200);
str += "<span class='rain' style='left:" + l +"px;'></span>";
}
for(j=0;j<40; j++){
var k1 = Math.ceil(Math.random()*100);
var k2 = Math.round(Math.random()*40+70);
str += "<span class='circle' style='left:" + k1 +"%;top:" + k2 +"%;'></span>";
}
document.getElementById('mnBox').innerHTML += str;
}
rain();
</script>
<script>
let mState = () => aud.paused ? (player.style.setProperty('--sp1','1'), player.style.setProperty('--sp2','0')) : (player.style.setProperty('--sp1','0'), player.style.setProperty('--sp2','1'));
aud.addEventListener('play', () => mState());
aud.addEventListener('pause', () => mState());
player.onclick = () => aud.paused ? aud.play(): aud.pause();
</script>
等着看如何解决的{:4_204:} https://pic.imgdb.cn/item/6745a2dcd0e0a243d4d1556c.jpg
请老师看看
本帖最后由 亚伦影音工作室 于 2024-11-25 06:10 编辑夕阳黄昏 发表于 2024-11-24 22:42
let raindrops=mnBox.queryselectorAII('.rain');
let rainpops=mnBox.queryselectorAII('.circle');
let rainstate=() =>{aud.paused ? (raindrops.forEach(drop=>{drop.style.animationpiaystate='paused'}),rainpops.forEach(pop=>{pop.style.animationpiaystate='paused'})): (raindrops.forEach(drop=>{ drop.style.animationpiaystate='yunning'}),rainpops.forEach(pop=>{pop.style.animationpiaystate='yunning'}));};
let mState = () =>{rainstate, aud.paused ? (player.style.setProperty('--sp1','1'), player.style.setProperty('--sp2','0')) : (player.style.setProperty('--sp1','0'), player.style.setProperty('--sp2','1'));};
aud.addEventListener('play', () => mState());
aud.addEventListener('pause', () => mState());
player.onclick = () => aud.paused ? aud.play(): aud.pause();
亚伦影音工作室 发表于 2024-11-25 05:52
let raindrops=mnBox.queryselectorAII('.rain');
let rainpops=mnBox.queryselectorAII('.circle');
l ...
好像少了个括号 夕阳黄昏 发表于 2024-11-25 06:27
好像少了个括号
少在哪里?请指教! 本帖最后由 夕阳黄昏 于 2024-11-25 08:11 编辑
亚伦影音工作室 发表于 2024-11-25 07:42
少在哪里?请指教!
原帖的
<script >
function rain() {
var str = "";
for(i=0; i<50; i++) {
var l = Math.ceil(Math.random()*1200);
str += "<span class='rain' style='left:" + l +"px;'></span>";
}
for(j=0;j<40; j++){
var k1 = Math.ceil(Math.random()*100);
var k2 = Math.round(Math.random()*40+70);
str += "<span class='circle' style='left:" + k1 +"%;top:" + k2 +"%;'></span>";
}
document.getElementById('mnBox').innerHTML += str;
}
rain();
</script>
<script>
let mState = () => aud.paused ? (player.style.setProperty('--sp1','1'), player.style.setProperty('--sp2','0')) : (player.style.setProperty('--sp1','0'), player.style.setProperty('--sp2','1'));
aud.addEventListener('play', () => mState());
aud.addEventListener('pause', () => mState());
player.onclick = () => aud.paused ? aud.play(): aud.pause();
</script>
修改为
<script >
function rain() {
var str = "";
for(i=0; i<50; i++) {
var l = Math.ceil(Math.random()*1200);
str += "<span class='rain' style='left:" + l +"px;'></span>";
}
for(j=0;j<40; j++){
var k1 = Math.ceil(Math.random()*100);
var k2 = Math.round(Math.random()*40+70);
str += "<span class='circle' style='left:" + k1 +"%;top:" + k2 +"%;'></span>";
}
document.getElementById('mnBox').innerHTML += str;
}
rain();
let raindrops = mnBox.querySelectorAll('.rain');
let rainpops = mnBox.querySelectorAll('.circle');
let rainState = () => {
aud.paused ? (raindrops.forEach( drop => {drop.style.animationPlayState='paused'}) , rainpops.forEach( pop => {pop.style.animationPlayState='paused'}))
: (raindrops.forEach( drop => {drop.style.animationPlayState='running'}) , rainpops.forEach( pop => {pop.style.animationPlayState='running'}));
}
let mState = () => {rainState(); aud.paused ? (player.style.setProperty('--sp1','1'), player.style.setProperty('--sp2','0')) : (player.style.setProperty('--sp1','0'), player.style.setProperty('--sp2','1'))};
aud.addEventListener('play', () => mState());
aud.addEventListener('pause', () => mState());
player.onclick = () => aud.paused ? aud.play(): aud.pause();
</script> 夕阳黄昏 发表于 2024-11-25 08:09
原帖的
修改为
老师的控件好厉害,学习了!谢谢夕阳老师!
页:
[1]