当前位置: 首页 > article >正文

【vue】圆环呼吸灯闪烁效果(模拟扭蛋机出口处灯光)

效果图先发:
在这里插入图片描述 在这里插入图片描述
页面部分:

<div ref="round" class="round">
          <div class="light" ref="light"/>
          <div class="box"></div>
        </div>

js部分(控制圆环生成);

setRound() {
      let lightFragment = document.createDocumentFragment();
      for (let i = 0; i < 10; i++) {
        let lightItem = document.createElement('span');
        let deg = (360 / 10) * i
        lightItem.style.transform = `rotate(${deg}deg)`;
        lightItem.classList.add('ball_span')
        lightFragment.appendChild(lightItem);
      }
      this.$refs.light.appendChild(lightFragment);
    },

样式部分:
(js动态部分的样式需要放在不加scope的标签中)

.ball_span {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 5px;
  //background-color: #f7f7b8;
  height: 100%;
  /*border-radius: 50%;*/
  transform-origin: center center;

}

.ball_span::before {
  content: '';
  position: absolute;
  top: 1px;
  left: 0;
  right: 0;
  margin: 0 auto;
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background-color: #f7f7b8;
  animation: shake 2s infinite;
}

.ball_span::after {
  content: '';
  position: absolute;
  bottom: 1px;
  left: 0;
  right: 0;
  margin: 0 auto;
  height: 6px;
  width: 6px;
  border-radius: 3px;
  background-color: #f7f7b8;
  animation: shake 2s infinite;
}

@keyframes shake {
  0% {
    opacity: 0.3;
    transform: scale(0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0.3;
    transform: scale(0.9);
  }
}
    .light {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;

      //background: #e0ddd1;
      //animation: rotate 5s linear infinite;
    }

    .box {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      background-image: linear-gradient(180deg, #4d7eb5, #0a5381);
    }

http://www.kler.cn/a/456015.html

相关文章:

  • Oracle 11G还有新BUG?ORACLE 表空间迷案!
  • HarmonyOS NEXT 实战之元服务:静态案例效果---妙语集语
  • Go入门篇:(一)golang的安装和编辑工具安装
  • 龙智出席2024零跑智能汽车技术论坛,分享功能安全、需求管理、版本管理、代码扫描等DevSecOps落地实践
  • ADB 上传文件并使用脚本监控上传百分比
  • C++ —— 模板类与函数
  • Docker中的MYSQL导入本地SQL语句
  • 不用swipe插件,用<component>组件实现H5的swipe切换
  • 【Halcon】例程讲解:基于形状匹配与OCR的多图像处理(附图像、程序下载链接)
  • 3.若依前端项目拉取、部署、访问
  • StableSR: Exploiting Diffusion Prior for Real-World Image Super-Resolution
  • jpeg文件学习
  • SpringCloudAlibaba实战入门之路由网关Gateway断言(十二)
  • 怎么把多个PDF合并到一起-免费实用PDF编辑处理工具分享
  • Passlib库介绍及使用指南
  • 计算机组成——Cache
  • 解决gitcode 单文件上传大小10M的问题及清理缓存区
  • 探究音频丢字位置和丢字时间对pesq分数的影响
  • html+css+js网页设计 美食 美拾9个页面
  • 30天面试打卡计划 2024-12-25 26 27 面试题
  • 渗透测试常用专业术语(二)
  • 硬件开发笔记(三十二):TPS54331电源设计(五):原理图BOM表导出、元器件封装核对
  • 改进爬山算法之一:随机化爬山法(Stochastic Hill Climbing,SHC)
  • LeetCode-字符串转换整数(008)
  • 华为配置命令
  • python大数据国内旅游景点的数据爬虫与可视化分析