马黑黑 发表于 2024-4-23 10:15

Blissful Mind

<style>
#papa { margin: 20px 0 20px calc(50% - 721px); width: 1280px; height: 720px; background: url('https://638183.freep.cn/638183/t24/2/bliss.jpg') no-repeat center/cover; box-shadow: 3px 3px 6px rgba(0,0,0,.6); z-index: 1; display: grid; place-items: center; position: relative; }
#player { position: absolute; bottom: 0; width: 120px; height: 180px; cursor: pointer; z-index: 10; }
.vid { position: absolute; bottom: 0; width: 200px; height: 200px; object-fit: cover; mix-blend-mode: screen; }
</style>

<div id="papa">
        <audio id="aud" src="https://music.163.com/song/media/outer/url?id=408277271" autoplay loop></audio>
        <video class="vid" src="https://img.tukuppt.com/video_show/25193134/01/01/94/612c4447afe84.mp4" loop muted></video>
        <div id="player" title="播放/暂停"></div>
</div>

<script>

var vids = document.querySelectorAll('.vid');
var sc = document.createElement('script');
sc.charset = 'utf-8';
sc.src = 'https://638183.freep.cn/638183/web/js/dot-lz.js';
document.body.appendChild(sc);

var lz = {papa: '#papa', total: 100, r: 3, max_r: 15, step: 0.5, color: 'rgba(255,255,255,.7)', opacity: .9, move: false};

var mState = () => {
        vids.forEach(vid => aud.paused ? vid.pause() : vid.play());
        lz.move = !aud.paused;
};

aud.onplaying = aud.onpause = () => mState();

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

</script>

马黑黑 发表于 2024-4-23 10:15

<style>
.mum { position: relative; margin: 0; padding: 10px; font: normal 16px/20px Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; color: black; background: rgba(240, 240, 240,.95); box-shadow: 2px 2px 4px gray; border: thick groove lightblue; border-radius: 6px; }
.mum ::selection { background-color: rgba(0,100,100,.35); }
.mum div { margin: 0; padding: 0; }
.mum cl-cd { display: block; position: relative; margin: 0 0 0 50px; padding: 0 0 0 10px; white-space: pre-wrap; overflow-wrap: break-word; border-left: 1px solid silver; }
.mum cl-cd::before { position: absolute; content: attr(data-idx); width: 50px; color: gray; text-align: right; transform: translate(-70px); }
.tRed { color: red; }
.tBlue { color: blue; }
.tGreen { color: green; }
.tDarkRed { color: darkred; }
.tMagenta { color: magenta; }
</style>

<h2>帖子代码</h2>
<div class='mum'>
<cl-cd data-idx="1">&lt;<span class="tDarkRed">style</span>&gt;</cl-cd>
<cl-cd data-idx="2">#papa { <span class="tBlue">margin:</span> 20px 0 20px calc(50% - 721px); <span class="tBlue">width:</span> 1280px; <span class="tBlue">height:</span> 720px; <span class="tBlue">background:</span> url(<span class="tMagenta">'https://638183.freep.cn/638183/t24/2/bliss.jpg'</span>) no-repeat center/cover; <span class="tBlue">box-shadow:</span> 3px 3px 6px rgba(0,0,0,.6); <span class="tBlue">z-index:</span> 1; <span class="tBlue">display:</span> grid; <span class="tBlue">place-items:</span> center; <span class="tBlue">position:</span> relative; }</cl-cd>
<cl-cd data-idx="3">#player { <span class="tBlue">position:</span> absolute; <span class="tBlue">bottom:</span> 0; <span class="tBlue">width:</span> 120px; <span class="tBlue">height:</span> 180px; <span class="tBlue">cursor:</span> pointer; <span class="tBlue">z-index:</span> 10; }</cl-cd>
<cl-cd data-idx="4">.vid { <span class="tBlue">position:</span> absolute; <span class="tBlue">bottom:</span> 0; <span class="tBlue">width:</span> 200px; <span class="tBlue">height:</span> 200px; <span class="tBlue">object-fit:</span> cover; <span class="tBlue">mix-blend-mode:</span> screen; }</cl-cd>
<cl-cd data-idx="5">&lt;<span class="tDarkRed">/style</span>&gt;</cl-cd>
<cl-cd data-idx="6">&nbsp;</cl-cd>
<cl-cd data-idx="7">&lt;<span class="tDarkRed">div</span> <span class="tRed">id</span>=<span class="tMagenta">"papa"</span>&gt;</cl-cd>
<cl-cd data-idx="8">&nbsp; &nbsp; &lt;<span class="tDarkRed">audio</span> <span class="tRed">id</span>=<span class="tMagenta">"aud"</span> src=<span class="tMagenta">"https://music.163.com/song/media/outer/url?<span class="tRed">id</span>=408277271"</span> autoplay loop&gt;&lt;<span class="tDarkRed">/audio</span>&gt;</cl-cd>
<cl-cd data-idx="9">&nbsp; &nbsp; &lt;<span class="tDarkRed">video</span> class=<span class="tMagenta">"vid"</span> src=<span class="tMagenta">"https://img.tukuppt.com/video_show/25193134/01/01/94/612c4447afe84.mp4"</span> loop muted&gt;&lt;<span class="tDarkRed">/video</span>&gt;</cl-cd>
<cl-cd data-idx="10">&nbsp; &nbsp; &lt;<span class="tDarkRed">div</span> <span class="tRed">id</span>=<span class="tMagenta">"player"</span> title=<span class="tMagenta">"播放/暂停"</span>&gt;&lt;<span class="tDarkRed">/div</span>&gt;</cl-cd>
<cl-cd data-idx="11">&lt;<span class="tDarkRed">/div</span>&gt;</cl-cd>
<cl-cd data-idx="12">&nbsp;</cl-cd>
<cl-cd data-idx="13">&lt;<span class="tDarkRed">script</span>&gt;</cl-cd>
<cl-cd data-idx="14">&nbsp;</cl-cd>
<cl-cd data-idx="15"><span class="tBlue">var</span> vids = <span class="tRed">document</span>.querySelectorAll(<span class="tMagenta">'.vid'</span>);</cl-cd>
<cl-cd data-idx="16"><span class="tBlue">var</span> sc = <span class="tRed">document</span>.createElement(<span class="tMagenta">'script'</span>);</cl-cd>
<cl-cd data-idx="17">sc.charset = <span class="tMagenta">'utf-8'</span>;</cl-cd>
<cl-cd data-idx="18">sc.src = <span class="tMagenta">'https://638183.freep.cn/638183/web/js/dot-lz.js'</span>;</cl-cd>
<cl-cd data-idx="19"><span class="tRed">document</span>.body.appendChild(sc);</cl-cd>
<cl-cd data-idx="20">&nbsp;</cl-cd>
<cl-cd data-idx="21"><span class="tBlue">var</span> lz = {<span class="tBlue">papa:</span> <span class="tMagenta">'#papa'</span>, <span class="tBlue">total:</span> 100, <span class="tBlue">r:</span> 3, max_<span class="tBlue">r:</span> 15, <span class="tBlue">step:</span> 0.5, <span class="tBlue">color:</span> <span class="tMagenta">'rgba(255,255,255,.7)'</span>, <span class="tBlue">opacity:</span> .9, <span class="tBlue">move:</span> false};</cl-cd>
<cl-cd data-idx="22">&nbsp;</cl-cd>
<cl-cd data-idx="23"><span class="tBlue">var</span> mState = () =&gt; {</cl-cd>
<cl-cd data-idx="24">&nbsp; &nbsp; vids.forEach(vid =&gt; aud.paused ? vid.pause() : vid.play());</cl-cd>
<cl-cd data-idx="25">&nbsp; &nbsp; lz.move = !aud.paused;</cl-cd>
<cl-cd data-idx="26">};</cl-cd>
<cl-cd data-idx="27">&nbsp;</cl-cd>
<cl-cd data-idx="28">aud.onplaying = aud.onpause = () =&gt; mState();</cl-cd>
<cl-cd data-idx="29">&nbsp;</cl-cd>
<cl-cd data-idx="30">player.onclick = () =&gt; aud.paused ? aud.play() : aud.pause();</cl-cd>
<cl-cd data-idx="31">&nbsp;</cl-cd>
<cl-cd data-idx="32">&lt;<span class="tDarkRed">/script</span>&gt;</cl-cd>
</div>

马黑黑 发表于 2024-4-23 10:16

本帖最后由 马黑黑 于 2024-4-23 11:46 编辑

由于本论坛的一些资源加载失败,导致整体页面的一些基于元素布局的数据出现不可琢磨的现象,最初的 dot-lz.js 脚本在这里出现水土不服,现已修正脚本,理论上粒子响应鼠标指针移动的准确度应该正常了。
dot-lz 的使用说明请查阅:dot-lz.js使用说明 - 马黑黑教程专版 - 花潮论坛 - Powered by Discuz! (huachaowang.com)

脚本为原创拙作,可以另存后上传到自己的空间,可以随意修改和使用,不用注明作者和出处。

愤怒的葡萄 发表于 2024-4-23 10:21

非常漂亮的音画作品,点赞!~~~

马黑黑 发表于 2024-4-23 10:25

愤怒的葡萄 发表于 2024-4-23 10:21
非常漂亮的音画作品,点赞!~~~

一些计算在这个论坛不够精准

愤怒的葡萄 发表于 2024-4-23 10:25

马黑黑 发表于 2024-4-23 10:25
一些计算在这个论坛不够精准

马版,你的作品挺不错的了,葡萄还不会做呢。

马黑黑 发表于 2024-4-23 10:29

愤怒的葡萄 发表于 2024-4-23 10:25
马版,你的作品挺不错的了,葡萄还不会做呢。

X3.2论坛程序有诸多问题,导致一些JS计算失效。我在 3.4 版本上测试过,非常完美,在自由页面上更没问题:

http://qhxy.52qingyin.cn/art/bshow.php?st=4&sd=4&art=uvuz_1713832591

愤怒的葡萄 发表于 2024-4-23 10:33

马黑黑 发表于 2024-4-23 10:29
X3.2论坛程序有诸多问题,导致一些JS计算失效。我在 3.4 版本上测试过,非常完美,在自由页面上更没问题 ...

马版挺了不起了,你分享了很多主题帖,葡萄不会制作音画的,我也想学习一下,以后我会在论坛里看看你分享的教程的。

马黑黑 发表于 2024-4-23 10:33

愤怒的葡萄 发表于 2024-4-23 10:33
马版挺了不起了,你分享了很多主题帖,葡萄不会制作音画的,我也想学习一下,以后我会在论坛里看看你分享 ...

这个学起来需要一些时间

愤怒的葡萄 发表于 2024-4-23 10:36

马黑黑 发表于 2024-4-23 10:33
这个学起来需要一些时间

我会尝试一下的,其实制作音画我很早就想学了,我在东篱雅苑论坛看到很多版主分享的精美的音画帖,当时我就想学一下了。

马黑黑 发表于 2024-4-23 11:22

愤怒的葡萄 发表于 2024-4-23 10:36
我会尝试一下的,其实制作音画我很早就想学了,我在东篱雅苑论坛看到很多版主分享的精美的音画帖,当时我 ...

那还是有一点基础的,学起来很快能上手

小文 发表于 2024-4-23 11:24

非常漂亮的

愤怒的葡萄 发表于 2024-4-23 11:28

马黑黑 发表于 2024-4-23 11:22
那还是有一点基础的,学起来很快能上手

马版一直在论坛啊?我今天早上上来了一会。

马黑黑 发表于 2024-4-23 11:39

愤怒的葡萄 发表于 2024-4-23 11:28
马版一直在论坛啊?我今天早上上来了一会。

在家养病,贪玩了{:4_170:}

马黑黑 发表于 2024-4-23 11:41

小文 发表于 2024-4-23 11:24
非常漂亮的

针对花潮论坛做了一些改动,现在粒子响应鼠标指针的精准度应该可以了

朵拉 发表于 2024-4-23 12:25

漂亮,欣赏学习~~{:4_178:}

南无月 发表于 2024-4-23 12:37

马黑黑 发表于 2024-4-23 10:16
由于本论坛的一些资源加载失败,导致整体页面的一些基于元素布局的数据出现不可琢磨的现象,最初的 dot-lz. ...

我可能是由于限制的原因,电脑有问题。(得换台电脑再试)
手机浏览此贴,触击点周围粒子变大,一切正常。。{:4_187:}

南无月 发表于 2024-4-23 12:38

马黑黑 发表于 2024-4-23 11:41
针对花潮论坛做了一些改动,现在粒子响应鼠标指针的精准度应该可以了

做贴跟做程序似的,需要整两套。。{:4_170:}

马黑黑 发表于 2024-4-23 12:40

南无月 发表于 2024-4-23 12:38
做贴跟做程序似的,需要整两套。。

其实也就是一套,整合一下

马黑黑 发表于 2024-4-23 12:41

南无月 发表于 2024-4-23 12:37
我可能是由于限制的原因,电脑有问题。(得换台电脑再试)
手机浏览此贴,触击点周围粒子变大,一切正常 ...

{:4_190:}
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: Blissful Mind