小辣椒 发表于 2022-10-16 20:41

喜迎二十大(套用黑黑红梅赞效果)

<style>
#papa { left: -268px; TOP: 150px;display: grid; grid-template-rows: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr); width: 1124px; height: 640px; background: pink url('https://pic1.imgdb.cn/item/634bfa9b16f2c2beb1869ddb.jpg') no-repeat center/cover; box-shadow: 3px 3px 20px #000; user-select: none; position: relative; z-index: 1; }
#papa > div { border: 0px solid olive; display: grid; position: relative; }
#flag { grid-area: 1 / 1;left: 300px; TOP: 50px; }
#player { grid-area: 3 / 2; left: -400px;place-items: end center; }
#btnwrap { fill: pink; cursor: pointer; }
#btnwrap:hover { fill: darkred; }
#tmsg { fill: tan; stroke: pink; stroke-width: 1px; font: normal 1em sans-serif; }
</style>

<div id="papa">
      <div id="flag"><img src="https://wj.zp68.com/lxx/yunhua/2022/10/10/hq.gif" alt="" style="width: 600px;mix-blend-mode: screen;" /></div>
      <div id="player">
                <svg id="mplayer" width="120" height="120">
                        <g id="mama" transform="rotate(-90, 60, 60)" style="cursor: pointer">
                              <circle id="track" cx="60" cy="60" r="50" fill="none" stroke-width="10" stroke="hsla(0,100%,90%,0.95)" />
                              <circle id="prog" cx="60" cy="60" r="50" fill="none" stroke-width="10" stroke="hsla(0,100%,40%,0.55)" />
                        </g>
                        <g id="btnwrap">
                              <path id="btnplay" d="M 50 50,50 70,70, 60 z"></path>
                              <path id="btnpause" d="M 52 50,52 70,57 70,57 50,52 50 z M 60 50,60 70,65 70,65 50,60 50 z" style="display:none"></path>
                              <path d="M 57 50,60 50,60 70,57 70 z" fill="transparent" />
                        </g>
                        <path id="curPath" d="M 20 70 Q 60 0 100 70" fill="none" stroke="none"/>
                        <path id="durPath" d="M 20 55 Q 60 110 100 55" fill="none" stroke="none"/>
                        <g id="tmsg">
                              <text x="34" y="0"><textPath id="curMsg" xlink:href="#curPath" dominant-baseline="text-after-edge">00:00</textPath></text>
                              <text x="29" y="0"><textPath id="durMsg" xlink:href="#durPath" dominant-baseline="text-before-edge">00:00</textPath></text>
                        </g>
      </svg>
      </div>
</div>

<script>
let aud = new Audio(), cc = {x: 1*track.getAttribute('cx'),y: 1*track.getAttribute('cy'),len: track.getTotalLength(),};
prog.style.strokeDasharray = prog.style.strokeDashoffset =cc.len;
papa.oncontextmenu = () => false;
aud.src = 'https://wj.zp68.com/lxx/yunhua/20190929/02.mp3';
aud.autoplay = true;
aud.loop = true;
mama.onclick = (e) => {let deg = Math.atan2(e.offsetY - cc.y, e.offsetX - cc.x) * 180 / Math.PI;deg += (e.offsetX < cc.x && e.offsetY < cc.y) ? 450 : 90;aud.currentTime = aud.duration * deg / 360;};
btnwrap.onclick = () => aud.paused ? aud.play() : aud.pause();
aud.addEventListener('pause', () => mState());
aud.addEventListener('play', () => mState());
aud.addEventListener('seeked', () => aud.play());
aud.addEventListener('timeupdate', () => {prog.style.strokeDashoffset = cc.len - cc.len * aud.currentTime / aud.duration;curMsg.textContent = toMin(aud.currentTime);durMsg.textContent = toMin(aud.duration);});
let mState = () => aud.paused ? (btnplay.style.display = 'block', btnpause.style.display = 'none') : (btnplay.style.display = 'none', btnpause.style.display = 'block');
let showLrc = (time) => {lrc.style.animation = (mFlag ? 'bgMove1 ' : 'bgMove2 ') + time + 's linear forwards';lrc.innerHTML = lrcAr;mKey += 1;mFlag = !mFlag;}
let toMin = (val)=> {if (!val) return '00:00';val = Math.floor(val);let min = parseInt(val / 60), sec = parseFloat(val % 60);if(min < 10) min = '0' + min;if(sec < 10) sec = '0' + sec;return min + ':' + sec;}
</script>
<br><br><br><br><br><br><br><br><br><br>

小辣椒 发表于 2022-10-16 20:42

@马黑黑

黑黑这个代码我还没有看懂,直接套用一个

小辣椒 发表于 2022-10-16 20:43

喜迎二十大召开,永远跟党走{:4_178:}

马黑黑 发表于 2022-10-16 21:03

小辣椒 发表于 2022-10-16 20:42
@马黑黑

黑黑这个代码我还没有看懂,直接套用一个

争取下回看懂了就好

梦油 发表于 2022-10-16 21:24

          喜迎二十大永远跟党走                                                                                                                           

小辣椒朋友晚上好!画面气势恢宏,赞!

小辣椒 发表于 2022-10-16 21:47

马黑黑 发表于 2022-10-16 21:03
争取下回看懂了就好

是的,这个不看懂以后就不能自己玩自己的了

小辣椒 发表于 2022-10-16 21:48

梦油 发表于 2022-10-16 21:24
喜迎二十大永远跟党走                                                                     ...
谢谢梦油欣赏,是学习黑黑教程套用做一个

马黑黑 发表于 2022-10-16 21:55

小辣椒 发表于 2022-10-16 21:47
是的,这个不看懂以后就不能自己玩自己的了

感觉也不是太难的

小辣椒 发表于 2022-10-16 21:57

马黑黑 发表于 2022-10-16 21:55
感觉也不是太难的

我看看明天做一个

马黑黑 发表于 2022-10-16 22:01

小辣椒 发表于 2022-10-16 21:57
我看看明天做一个

完全没问题的

小辣椒 发表于 2022-10-16 22:04

马黑黑 发表于 2022-10-16 22:01
完全没问题的

明天得晚上回家后做

马黑黑 发表于 2022-10-16 22:15

小辣椒 发表于 2022-10-16 22:04
明天得晚上回家后做

我看行

小辣椒 发表于 2022-10-16 22:22

马黑黑 发表于 2022-10-16 22:15
我看行

先下了,晚安!

马黑黑 发表于 2022-10-16 22:32

小辣椒 发表于 2022-10-16 22:22
先下了,晚安!

88

小辣椒 发表于 2022-10-16 22:34

马黑黑 发表于 2022-10-16 22:32
88

黑黑,播放器位置我调整了一下

红影 发表于 2022-10-16 23:03

这个位置调配得很好啊,亲爱的应该是看懂了网格形式了呢。非常漂亮的制作,欣赏亲爱的好帖,同贺二十大的召开{:4_199:}{:4_187:}

马黑黑 发表于 2022-10-16 23:08

小辣椒 发表于 2022-10-16 22:34
黑黑,播放器位置我调整了一下

嗯,现在这个位置好

相约爱晚亭 发表于 2022-10-17 10:09

欣赏音画佳作!

梦油 发表于 2022-10-17 10:45

小辣椒 发表于 2022-10-16 21:48
谢谢梦油欣赏,是学习黑黑教程套用做一个

学得好,做得棒!

小辣椒 发表于 2022-10-17 12:36

2022-10-16 23:03
λú ...

页: [1] 2
查看完整版本: 喜迎二十大(套用黑黑红梅赞效果)