马黑黑 发表于 2022-1-20 08:26

分享两个旋转按钮定稿版(附JS控制脚本)

本帖最后由 马黑黑 于 2022-1-20 08:32 编辑

第一个:

<style type="text/css">
/* 旋转按钮一         仿光盘 32*32
    利用背景色渐变+●模拟效果
    HTML代码:<div id="btn-ro" class="btn-ro">●</div>
*/
.btn-ro {
      width: 32px; height: 32px;
      line-height: 32px; font-size: 12px;
      background: linear-gradient(blue,gray,red);
      outline:none;
      color: white;
      border-radius: 50%;
      text-align: center;
      box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.25);
      cursor: pointer;
      animation: rol linear 2s infinite;
}

.btn-ro:hover { opacity: 0.8; }
.btn-ro:active { opacity: 1; }

@keyframes rol { to { transform:rotate(360deg); } }

</style>

第二个:

<style type="text/css">
/* 旋转按钮二         仿光盘 34*34
    利用 borderr-color 着背景色
    HTML代码:<div id="btn-ro" class="btn-ro"></div>
*/
.btn-ro {
      width: 8px; height: 8px;
      background: white;
      border: 13px solid;
      border-color: orange green;
      border-radius: 50%;
      box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.25);
      cursor: pointer;
      animation: rol linear 2s infinite;
}

.btn-ro:hover { opacity: 0.8; }
.btn-ro:active { opacity: 1; }

@keyframes rol { to { transform:rotate(360deg); } }

</style>

附:JS控制脚本(可分别配套两组CSS代码)

<script>
var mu = document.getElementById('ymusic');
var mbtn = document.getElementById('btn-ro');
mu.autoplay ? mbtn.style.animationPlayState="running" : mbtn.style.animationPlayState="paused";
mu.addEventListener("ended", function(){ mbtn.style.animationPlayState="paused"; })
mbtn.onclick = function(){ mu.paused ? (mu.play(), mbtn.style.animationPlayState="running") : (mu.pause(), mbtn.style.animationPlayState="paused"); }
</script>

最后简单说说使用方法(红色部分请特别留意):

帖子代码结构为 CSS + HTML + JS,例如:

<style type="text/css">
      /* 按钮CSS代码 */
      /* 你的CSS代码 */
</style>

<!-- 帖子 html 代码开始,暗绿色代码中的div是你的帖子容器,代码不一定是酱紫的,我只是举例 -->

<div styl="position:relative;left:-304px;top:80px;width:1024px;">
      <!-- 你的帖子内容 -->
      <!--按钮HTML代码应放于帖子内容某处,位置如果不合适可通过 style="position:relative;..." 定位 -->
</div>
<!-- audio播放器可放在帖子代码的最后一行 -->

<audio id="ymusic" src="音乐地址" autoplay="autoplay" loop="loop"></audio>

<script>
//JS代码放在帖子所有内容之后
//你也可以在此处加入你的JS代码
</script>

马黑黑 发表于 2022-1-20 08:33

@加林森 队长

红影 发表于 2022-1-20 09:41

黑黑好厉害,不但能琢磨出全代码的旋转光盘,而且一下子就琢磨出2个来,很赞{:4_199:}

红影 发表于 2022-1-20 09:42

第一个已经看到实例演示,我来试试第二种方法。

红影 发表于 2022-1-20 09:43


<style type="text/css">

.btn-ro {
      width: 14px; height: 14px;
      background: LightCyan;
      border: 24px solid;
      border-color: PowDerBlue LightBLue;
      border-radius: 50%;
      box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.25);
      cursor: pointer;
      animation: rol linear 2s infinite;
}

.btn-ro:hover { opacity: 0.8; }
.btn-ro:active { opacity: 1; }

@keyframes rol { to { transform:rotate(360deg); } }

</style>

<div id="btn-ro" class="btn-ro">
<div styl="position:relative;left:200px;top:80px;">
<audio id="ymusic" src="https://www.80wp.com/wj/47875/dc513c8f68b6c24b4a286e90ca1b1dfd.mp3" autoplay="autoplay" loop="loop"></audio></div>

<script>
var mu = document.getElementById('ymusic');
var mbtn = document.getElementById('btn-ro');
mu.autoplay ? mbtn.style.animationPlayState="running" : mbtn.style.animationPlayState="paused";
mu.addEventListener("ended", function(){ mbtn.style.animationPlayState="paused"; })
mbtn.onclick = function(){ mu.paused ? (mu.play(), mbtn.style.animationPlayState="running") : (mu.pause(), mbtn.style.animationPlayState="paused"); }
</script>

红影 发表于 2022-1-20 09:44

把光盘放大了一点,反正大小都是一个价,大的看得清楚点{:4_173:}

红影 发表于 2022-1-20 09:49

我喜欢用自动的,可以直接看效果。所以还是用了自动播放,不好意思啊{:4_173:}

马黑黑 发表于 2022-1-20 10:31

红影 发表于 2022-1-20 09:44
把光盘放大了一点,反正大小都是一个价,大的看得清楚点

大的五毛,小的八毛

马黑黑 发表于 2022-1-20 10:31

红影 发表于 2022-1-20 09:49
我喜欢用自动的,可以直接看效果。所以还是用了自动播放,不好意思啊

不论的,我之前只是说说,说说也就算了

马黑黑 发表于 2022-1-20 10:32

红影 发表于 2022-1-20 09:41
黑黑好厉害,不但能琢磨出全代码的旋转光盘,而且一下子就琢磨出2个来,很赞

一生二二生三吗,有了实现原理,你在此基础上也能琢磨出另一套的

马黑黑 发表于 2022-1-20 10:33

红影 发表于 2022-1-20 09:42
第一个已经看到实例演示,我来试试第二种方法。

其实也都一样的,只是外观不同

樵歌 发表于 2022-1-20 10:38

小黑创意无限呵。

马黑黑 发表于 2022-1-20 10:41

樵歌 发表于 2022-1-20 10:38
小黑创意无限呵。

这几天补休,因疫情严峻,不能出去玩,就在家玩玩代码呗

加林森 发表于 2022-1-20 11:34

好厉害的老黑。{:4_199:}
有空我也去制作一个出来玩玩。

马黑黑 发表于 2022-1-20 11:55

加林森 发表于 2022-1-20 11:34
好厉害的老黑。
有空我也去制作一个出来玩玩。

支持

加林森 发表于 2022-1-20 12:00

马黑黑 发表于 2022-1-20 11:55
支持

嗯嗯,下午来制作。

马黑黑 发表于 2022-1-20 12:06

加林森 发表于 2022-1-20 12:00
嗯嗯,下午来制作。

期待

加林森 发表于 2022-1-20 12:17

马黑黑 发表于 2022-1-20 12:06
期待

嗯嗯

红影 发表于 2022-1-20 12:53

马黑黑 发表于 2022-1-20 10:31
大的五毛,小的八毛

哈哈,小的反倒贵啊{:4_173:}

红影 发表于 2022-1-20 12:55

马黑黑 发表于 2022-1-20 10:31
不论的,我之前只是说说,说说也就算了

黑黑不介意就好,我还是喜欢自动播放,就保持自己小小的喜欢了{:4_173:}
页: [1] 2 3
查看完整版本: 分享两个旋转按钮定稿版(附JS控制脚本)