红影 发表于 2023-3-12 17:36

马术之夜 TO樵歌&清儿幽幽

<style>
#papa {
        margin: 80px 0 0 calc(50% - 681px);
        width: 1200px;
        height: 675px;
        background: lightblue url('https://pic.imgdb.cn/item/640d6989f144a01007dc5adc.jpg') center/cover no-repeat;
        box-shadow: 6px 3px 30px #000;
        position: relative;
        display: grid;
        place-items: center;
        z-index: 1; overflow: hidden;
         --state: paused;
}
#pic {
      position: absolute;
      left: 20px; top:430px;
      width: 140px;
      height: 180px;z-index: 10;
      background: url('https://pic.imgdb.cn/item/640d74c6f144a01007f0c624.png') no-repeat center/cover;
      animation: tiao .6s infinite alternate var(--state);
}
#pic2 {
      position: absolute;
      right: 20px; top:430px;
      width: 161px;
      height: 180px;
      transform: rotate(0deg);
      transform-origin: 50% 100%;
      background: url('https://pic.imgdb.cn/item/640d9240f144a010072107dc.png') no-repeat center/cover;
      animation: zhuan .5s infinite alternatevar(--state);
}
.pic1 {
      position: absolute;
      right: 100px; top: -30px;
      width: 236px;
      height: 290px;
      transform: rotate(30deg);
      transform-origin: 80% 0;
      background: url('https://pic.imgdb.cn/item/640d7a19f144a01007fa45de.png') no-repeat center/cover;
      animation: zh 2.2s infinite alternate var(--state);
}

.mplayer {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: lightblue;
        box-shadow: 5px 5px 30px blue inset;
        cursor: pointer;
        animation: rot2d 8s infinite linear var(--state);
        position: absolute;left:746px;top:286px;
        transition: box-shadow .6s;
       
}
.mplayer::before, .mplayer::after {
        position: absolute;
        content: '';
        top: -50px;
        right: -50px;
        bottom: -50px;
        left: -50px;
        border: 6px dotted snow;
        border-radius: inherit;
        transform: perspective(1000px) rotateY(45deg) rotateX(15deg);
        animation: rot3d 10s infinite linear;
        --angle: 360deg;
}
.mplayer::after {
        top: -60px;
        right: -60px;
        bottom: -60px;
        left: -60px;
        --angle: -1080deg;
}
@keyframes rot2d {
        to { transform: rotate(360deg); }
}
@keyframes rot3d {
        to { transform: perspective(1000px) rotateY(45deg) rotateX(15deg) rotateZ(var(--angle)); }
}
@keyframes tiao { to {transform: translate(0px,-40px); } }
@keyframes zh { to { transform: rotate(-10deg); } }
@keyframes zhuan { to { transform: rotate(-5deg); } }

.mplayer:nth-of-type(2) {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: lightblue;
        box-shadow: 5px 5px 30px red inset;
        cursor: pointer;
        animation: rot2d 8s infinite linear var(--state);
        position: absolute;left:396px;top:286px;
        transition: box-shadow .6s;
       
}
#tit {
      position: absolute;
      right: 320px;
      top: 0px;
      background-image:url('https://pic.imgdb.cn/item/638deea8b1fccdcd36b985f3.gif'); background-size:cover;
      width:600px; height:200px; font: bold 3.6em sans-serif;
      text-align:center; line-height:200px; color:transparent;
      -webkit-background-clip:text;
      border:0px #FF4A20 solid; z-index: 10;
}
</style>

<div id="papa">
        <div class="mplayer"></div><div class="mplayer"></div>
       <div class="pic1"></div><div id="tit">马术之夜</div><div id="pic2"></div> <div id="pic"></div>
        <audio id="aud" src="https://music.163.com/song/media/outer/url?id=5242671" autoplay loop></audio>
<div style="position: absolute; left:-20px; top: 0px; opacity: 0.4; width:468px;">
                <img alt="" src="https://pic.imgdb.cn/item/629978d309475431293aa763.gif"/></div>
</div>
<script>
(function() {
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());
})();
</script>

红影 发表于 2023-3-12 17:43

所谓马术者,马黑黑代码技术之简称。{:4_173:}
用新学的马术做个小帖送给师兄和清儿。感谢黑黑的代码。

红影 发表于 2023-3-12 17:46

春天是美丽的,阳春三月更美丽,祝福樵歌和清儿三月快乐{:4_187:}{:4_187:}@樵歌@清儿幽幽

红影 发表于 2023-3-12 17:55

呼叫@马黑黑为什么左边的一个小图不见了,在本地测试有的,发到论坛就不见了,我加了z-index: 也不行,查不出原因了。

醉美水芙蓉 发表于 2023-3-12 18:08

千羽 发表于 2023-3-12 18:09

排排坐,欢天喜地来看马戏表演{:4_173:}

醉美水芙蓉 发表于 2023-3-12 18:09

千羽 发表于 2023-3-12 18:12

舞台背景装饰的好漂亮啊,演员们的表演太精彩了,慢慢欣赏……{:4_187:}

马黑黑 发表于 2023-3-12 18:12

红影 发表于 2023-3-12 17:55
呼叫@马黑黑为什么左边的一个小图不见了,在本地测试有的,发到论坛就不见了,我加了z-index: 也不行,查 ...

JS代码有错误。修正了一下,看看如下代码:
<style>
#papa {
        margin: 80px 0 0 calc(50% - 681px);
        width: 1200px;
        height: 675px;
        background: lightblue url('https://pic.imgdb.cn/item/640d6989f144a01007dc5adc.jpg') center/cover no-repeat;
        box-shadow: 6px 3px 30px #000;
        position: relative;
        display: grid;
        place-items: center;
        z-index: 1; overflow: hidden;
        --state: paused;
}
#pic {
        position: absolute;
        left: 20px;
        top:430px;
        width: 140px;
        height: 180px;z-index: 10;
        background: url('https://pic.imgdb.cn/item/640d74c6f144a01007f0c624.png') no-repeat center/cover;
        animation: tiao .6s infinite alternate var(--state);
}
#pic2 {
        position: absolute;
        right: 20px; top:430px;
        width: 161px;
        height: 180px;
        transform: rotate(0deg);
        transform-origin: 50% 100%;
        background: url('https://pic.imgdb.cn/item/640d9240f144a010072107dc.png') no-repeat center/cover;
        animation: zhuan .5s infinite alternatevar(--state);
}
.pic1 {
        position: absolute;
        right: 100px;
        top: -30px;
        width: 236px;
        height: 290px;
        transform: rotate(30deg);
        transform-origin: 80% 0;
        background: url('https://pic.imgdb.cn/item/640d7a19f144a01007fa45de.png') no-repeat center/cover;
        animation: zh 2.2s infinite alternate var(--state);
}

.mplayer {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: lightblue;
        box-shadow: 5px 5px 30px blue inset;
        cursor: pointer;
        animation: rot2d 8s infinite linear var(--state);
        position: absolute;left:746px;top:286px;
        transition: box-shadow .6s;
       
}
.mplayer::before, .mplayer::after {
        position: absolute;
        content: '';
        top: -50px;
        right: -50px;
        bottom: -50px;
        left: -50px;
        border: 6px dotted snow;
        border-radius: inherit;
        transform: perspective(1000px) rotateY(45deg) rotateX(15deg);
        animation: rot3d 10s infinite linear;
        --angle: 360deg;
}
.mplayer::after {
        top: -60px;
        right: -60px;
        bottom: -60px;
        left: -60px;
        --angle: -1080deg;
}
@keyframes rot2d {
        to { transform: rotate(360deg); }
}
@keyframes rot3d {
        to { transform: perspective(1000px) rotateY(45deg) rotateX(15deg) rotateZ(var(--angle)); }
}
@keyframes tiao { to { top: 360px; } }
@keyframes zh { to { transform: rotate(-10deg); } }
@keyframes zhuan { to { transform: rotate(-5deg); } }

.mplayer:nth-of-type(2) {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: lightblue;
        box-shadow: 5px 5px 30px red inset;
        cursor: pointer;
        animation: rot2d 8s infinite linear var(--state);
        position: absolute;left:396px;top:286px;
        transition: box-shadow .6s;
       
}
#tit {
        position: absolute;
        right: 320px;
        top: 0px;
        background-image:url('https://pic.imgdb.cn/item/638deea8b1fccdcd36b985f3.gif'); background-size:cover;
        width:600px; height:200px; font: bold 3.6em sans-serif;
        text-align:center; line-height:200px; color:transparent;
        -webkit-background-clip:text;
        border:0px #FF4A20 solid; z-index: 10;
}
</style>

<div id="papa">
        <div class="mplayer"></div><div class="mplayer"></div>
        <div class="pic1"></div><div id="tit">马术之夜</div><div id="pic2"></div> <div id="pic"></div>
        <audio id="aud" src="https://music.163.com/song/media/outer/url?id=5242671" autoplay loop></audio>
        <div style="position: absolute; left:-20px; top: 0px; opacity: 0.4; width:468px;">
        <img alt="" src="https://pic.imgdb.cn/item/629978d309475431293aa763.gif"/></div>
</div>

<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: 'color: snow; background: none; border: 2px solid snow; bottom: 20px;'});
})();
</script>

庶民 发表于 2023-3-12 18:13

这个好玩的,技巧多多。

马黑黑 发表于 2023-3-12 18:20

原来的作品,JS有两处错误:

① 全屏插件代码缺失,但又有调用全屏插件的相关语句。补上插件代码或取消调用代码即可;

② mplayer.addEventListener('click', () => aud.paused ? aud.play() : aud.pause()); 这一句是多余的且造成JS出错,因为,id 名为 mplayer 的选择器已经改为类名 .mplayer,并使用了 btns 变量来俘获所有的 mplayer 且对之进行了的编程。

樵歌 发表于 2023-3-12 18:23

红影 发表于 2023-3-12 17:46
春天是美丽的,阳春三月更美丽,祝福樵歌和清儿三月快乐@樵歌@清儿幽幽

来了来了,师妹的好礼赶紧抱走,{:4_187:}也替请儿先保存着{:4_173:}

樵歌 发表于 2023-3-12 18:27

谢谢师妹给俺们一场精采的马朮晚会,{:4_176:}
别开生面的创意,小丒们幽默滑稽的表演,让人开心不已{:4_205:}

小辣椒 发表于 2023-3-12 18:28

哇瑟~~这么漂亮的制作{:4_178:}

樵歌 发表于 2023-3-12 18:29

马黑黑 发表于 2023-3-12 18:12
JS代码有错误。修正了一下,看看如下代码:

这样的修正主义是多么完美{:4_176:}

小辣椒 发表于 2023-3-12 18:31

亲爱的,你太厉害了,加的效果太好了{:4_199:}

小辣椒 发表于 2023-3-12 18:32

刚想发一个这个圆圈圈,感觉不能发了{:4_170:}

红影 发表于 2023-3-12 18:32

马黑黑 发表于 2023-3-12 18:12
JS代码有错误。修正了一下,看看如下代码:

谢谢黑黑,改过来了,小图也出现了。果然有黑黑出马,什么问题都能解决{:4_205:}

樵歌 发表于 2023-3-12 18:33

那两珍珠手链一边相对旋转达在三维空间摇摆,真神奇{:4_203:}

小辣椒 发表于 2023-3-12 18:33

樵歌 发表于 2023-3-12 18:29
这样的修正主义是多么完美

樵哥哥~~清儿收礼开心

{:4_179:}{:4_179:}拥抱2位
页: [1] 2 3 4 5 6 7 8
查看完整版本: 马术之夜 TO樵歌&清儿幽幽