马黑黑 发表于 2022-7-30 08:25

装拆一念间

<style>
#papa { left: -214px; width: 1024px; height: 640px; display: flex; justify-content: center; background: #000 url('https://638183.freep.cn/638183/Pic/38/101.jpg') no-repeat center/cover; perspective: 2000px; box-shadow: 4px 4px 24px #000; font-size: 16px; position: relative; }
#papa h2 { position: absolute; margin-top: 20px; font: bold 30px / 30px sans-serif; color: #222; text-shadow: 1px 2px 3px #aaa; }
#wrapper { position: absolute; top: calc(50% - 150px); width: 300px; height: 300px; transform-style: preserve-3d; transform: rotateX(-15deg) rotateY(-20deg); animation: rot1 4s linear forwards; }
#ball { position: absolute; left: 40%; top: 50%; width: 50%; height: 50%; border-radius: 50%; transform: translateZ(100px); background: linear-gradient(tan, red); opacity: .75; }
.panel { position: absolute; width: 300px; height: 300px; opacity: .75; }
#btnPlay { position: absolute; left: 40px; bottom: 40px; outline: none; cursor: pointer; }
#yyMsg { position: absolute; left: 110px; bottom: 40px; color: silver; }
#btnBegin { position: absolute; bottom: 40px; outline: none; cursor: pointer; }
#mkMsg { position: absolute; left: calc(50% + 35px); bottom: 40px; }
</style>

<div id="papa">
        <h2>装拆一念间</h2>
        <div id="wrapper"><span id="ball"></span></div>
        <input id="btnPlay" type="button" value="音乐停" />
        <span id="yyMsg">背景音乐 - 空山新雨</span>
        <input id="btnBegin" type="button" value="暂停" />
        <span id="mkMsg">waiting ...</span>
</div>

<script>
let idx = 0, step = 1, flag = true, aud = new Audio();
aud.src = 'https://music.163.com/song/media/outer/url?id=1948007070.mp3';
aud.loop = true;
aud.autoplay = true;
let num = (min, max) => Math.floor(Math.random() * (max-min+1)) + min;
let panelAr = [
        ' translateY(150px) rotateX(90deg)', //下
        'translateZ(-150px)', //后
        'translateZ(150px)', //前
        'translateX(-150px) rotateY(90deg)', //左
        'translateX(150px) rotateY(90deg)', //右
        'translateY(-150px) rotateX(90deg)', //上
];
panelAr.forEach((item,key) => {
        let span = document.createElement('span');
        span.className = 'panel';
        span.style.transform = panelAr;
        span.style.display = 'none';
        wrapper.appendChild(span);
});

let spanAr = Array.from(document.querySelectorAll('.panel'));
spanAr.splice(1,0,ball);
let TT = setInterval(mkBox, 2000);

btnBegin.onclick = () => {
        flag = !flag;
        flag ? (TT = setInterval(mkBox, 2000), btnBegin.value = '暂停') : (clearInterval(TT), btnBegin.value = '继续');
}

btnPlay.onclick = () => aud.paused ? aud.play() : aud.pause();

aud.addEventListener('playing', () => btnPlay.value = '音乐停');
aud.addEventListener('pause', () => btnPlay.value = '音乐放');

function mkBox() {
        step > 0 ? (spanAr.style.display = 'block', mkMsg.innerText = '装') : (spanAr.style.display = 'none', mkMsg.innerText = '拆');
        spanAr.style.background = `rgba(${num(0,255)}, ${num(0,255)}, ${num(0,255)},.95)`;
        idx += step;
        if(idx > spanAr.length - 1 || idx < 0) {
                step = -step;
                idx += step;
        }
}
</script>

浣溪沙 发表于 2022-7-30 08:53

哈哈哈,图图上的按钮罢工了,鼠标指挥不了

浣溪沙 发表于 2022-7-30 08:54

等会,再来看{:4_203:}

马黑黑 发表于 2022-7-30 09:09

浣溪沙 发表于 2022-7-30 08:53
哈哈哈,图图上的按钮罢工了,鼠标指挥不了

鼠标要送修了{:5_117:}

看看你用的什么浏览器

加林森 发表于 2022-7-30 09:28

这个又是一个新制作,真漂亮。{:4_199:}

马黑黑 发表于 2022-7-30 09:30

加林森 发表于 2022-7-30 09:28
这个又是一个新制作,真漂亮。

队长早啊

加林森 发表于 2022-7-30 09:31

马黑黑 发表于 2022-7-30 09:30
队长早啊

老黑上午好!{:4_190:}

马黑黑 发表于 2022-7-30 09:40

加林森 发表于 2022-7-30 09:31
老黑上午好!

{:4_180:}

浣溪沙 发表于 2022-7-30 09:43

马黑黑 发表于 2022-7-30 09:09
鼠标要送修了

看看你用的什么浏览器

现在有了,可以装成正方体,可以开关音乐

制作太神奇了{:4_178:}

加林森 发表于 2022-7-30 09:43

马黑黑 发表于 2022-7-30 09:40


谢茶!我跟到学习制作了一个出来。{:4_189:}

马黑黑 发表于 2022-7-30 09:44

加林森 发表于 2022-7-30 09:43
谢茶!我跟到学习制作了一个出来。

你的速度也太快了,厉害厉害

马黑黑 发表于 2022-7-30 09:45

浣溪沙 发表于 2022-7-30 09:43
现在有了,可以装成正方体,可以开关音乐

制作太神奇了

前面为啥不行呢

加林森 发表于 2022-7-30 09:48

马黑黑 发表于 2022-7-30 09:44
你的速度也太快了,厉害厉害

{:5_102:}

马黑黑 发表于 2022-7-30 09:55

加林森 发表于 2022-7-30 09:48


{:4_199:}

加林森 发表于 2022-7-30 10:11

马黑黑 发表于 2022-7-30 09:55


{:5_108:}

梦油 发表于 2022-7-30 11:00

自动装拆,真有意思。黑黑朋友真行!

                  {:4_199:}

马黑黑 发表于 2022-7-30 11:02

梦油 发表于 2022-7-30 11:00
自动装拆,真有意思。黑黑朋友真行!

{:4_180:}

樵歌 发表于 2022-7-30 11:20

无所不能{:4_199:}

马黑黑 发表于 2022-7-30 12:00

樵歌 发表于 2022-7-30 11:20
无所不能

但不是强拆哈,俺不是城管{:4_170:}

红影 发表于 2022-7-30 13:52

第二遍装拆时,颜色还会变化的,如此装装拆拆,色彩变化无穷,好有趣的制作{:4_199:}
页: [1] 2 3
查看完整版本: 装拆一念间