今日分享【微信小程序中一个左右摇摆的小灯泡】

news2024/11/25 5:17:11

1、废话少说,先上效果:
在这里插入图片描述
2、具体实现代码如下:

  • wxml
<view class="con {{off?'off':''}}" catchtap="close">
  <view class="box {{off?'off':''}}">
    <view class="box_view {{off?'off':''}}"></view>
  </view>
</view>
<view class="demo">welcome to here!</view>
<view class="bottom">
  <view class="shadow {{off?'off':''}}"></view>
</view>
  • wxss
page {
  background: #001933;
}

::after,
::before {
  box-sizing: border-box
}

.con {
  width: 75rpx;
  height: 275rpx;
  animation: box-swing 3s infinite ease-in-out;
  transform-origin: top center;
  position: absolute;
  top: -10rpx;
  left: 40px;
}

.con.off {
  animation: none;
}


.box {
  z-index: 10;
  display: block;
  width: 75rpx;
  height: 75rpx;
  border-radius: 50%;
  position: absolute;
  top: 200rpx;
  left: calc(50% -(75rpx/2));
  background: white;
  box-shadow: 5rpx 5rpx 80rpx #e4cedf, 5rpx -5rpx 80rpx #e4cedf, -5rpx 5rpx 80rpx #e4cedf, -5rpx -5rpx 80rpx #e4cedf;
  cursor: pointer;
}

.box::before {
  content: "";
  position: absolute;
  width: 35rpx;
  height: 50rpx;
  background: #222;
  bottom: 100%;
  left: calc(50% -(35rpx/2));
  z-index: -1;
  border-top-left-radius: 10rpx;
  border-top-right-radius: 10rpx
}

.box::after {
  content: "";
  position: absolute;
  width: 10rpx;
  height: 250rpx;
  background: #222;
  bottom: 100%;
  left: calc(50% - 5rpx);
  z-index: -1
}

.box .box_view {
  display: block;
  position: absolute;
  width: 2rpx;
  height: 30rpx;
  background: #fff;
  top: 2rpx;
  left: 28rpx;
  box-shadow: 17rpx 0 #fff;
  opacity: 0;
}

.box .box_view::after {
  content: "";
  position: absolute;
  bottom: -2rpx;
  left: 4rpx;
  background: #fff;
  width: 2rpx;
  height: 12rpx;
  display: block;
  box-shadow: 4.5rpx 0 #fff, 9rpx 0 #fff;
}

.box.off {
  background: transparent;
  box-shadow: none;
  border: 1px solid #fff;
}

.box_view.off {
  opacity: 1
}

@keyframes box-swing {
  0% {
    transform: rotate(-10deg)
  }

  50% {
    transform: rotate(10deg)
  }

  100% {
    transform: rotate(-10deg)
  }
}

.bottom {
  position: absolute;
  background: rgb(0, 0, 0, .1);
  height: 200rpx;
  width: 100%;
  bottom: 0;
  left: 0
}

.bottom .shadow {
  position: absolute;
  background: rgb(228, 206, 223, 0.4);
  width: 50rpx;
  height: 50rpx;
  border-radius: 50%;
  top: calc(50% - 25rpx);
  left: calc(50% - 25rpx);
  box-shadow: 20rpx 20rpx 100rpx #e4cedf, -20rpx 20rpx 100rpx #e4cedf, 20rpx -20rpx 100rpx #e4cedf, -20rpx -20rpx 100rpx #e4cedf;
  animation: shadow-swing 3s infinite ease-in-out;

}

.shadow.off {
  display: none;
}

@keyframes shadow-swing {
  0% {
    transform: translateX(100px)
  }

  50% {
    transform: translateX(-100px)
  }

  100% {
    transform: translateX(100px)
  }
}

.demo{
  width: 500rpx;
  height: 300rpx;
  background: rgba(85, 59, 59, 0.2);
  box-shadow: 0px 3rpx 40rpx rgba(0, 0, 0, 0.36);
  border-radius: 20rpx;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 30rpx;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
  • js
Page({
  data: {
    off: false, //关灯泡是否闭
  },
  close() {
    this.setData({
      off: !this.data.off
    })
  },
})

3、写在最后:实现简单,勤于动手,不需要任何插件,你自己就可以纯手撸一个‘花里胡哨’的页面效果,一起来试试吧,粘贴复制即用哦hahaha
4、贴下自己的小程序,有很多花里胡哨的东西,喜欢可以扫码查看
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Node.js工程师养成计划】之express中间件与接口规范

一、Express中间件的概念与基本应用 const express require(express)// 加一个注释&#xff0c;用以说明&#xff0c;本项目代码可以任意定制更改 const app express()const PORT process.env.PORT || 3000// // 挂载路由 // app.use(/api, router)// // 挂载统一处理服务端…

【数据结构】树和二叉树基本概念和性质

目录 前言1、树的概念1.1 树的基本概念1.2 树的主要概念1.3 树的表示1.4 树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff09; 2. 二叉树概念及结构2.1 概念2.2 特殊的二叉树2.3 二叉树的性质 3. 二叉树性质相关选择题练习4. 答案和解析5. 总结 前言 本章带来数…

Golang | Leetcode Golang题解之第68题文本左右对齐

题目&#xff1a; 题解&#xff1a; // blank 返回长度为 n 的由空格组成的字符串 func blank(n int) string {return strings.Repeat(" ", n) }func fullJustify(words []string, maxWidth int) (ans []string) {right, n : 0, len(words)for {left : right // 当前…

【智能算法应用】麻雀搜索算法求解非线性方程组问题

目录 1.算法原理2.数学模型3.结果展示4.代码获取 1.算法原理 【智能算法】麻雀搜索算法&#xff08;SSA&#xff09;原理及实现 2.数学模型 非线性方程组为&#xff1a; 2 x 1 − x 2 e − x 1 − x 1 2 x 2 e − x 2 (1) \begin{aligned}&2x_1-x_2e^{-x_1}\\&-…

音视频开发3 视频基础,图片基础

图片像素&#xff08;Pixel&#xff09; 一张图片是由多少个 像素 构成的。 例如一张图片是由60x50组成的。 位深度 bit depth RGB表示法 红&#xff08;Red&#xff09;、绿&#xff08;Green&#xff09;、蓝&#xff08;Blue&#xff09; 除了24bit&#xff0c;常见的位深…

深度解析JVM世界:常见的垃圾回收器

本篇文章的主要内容是介绍JVM中常见的垃圾收集器 JVM&#xff08;Java Virtual Machine&#xff09;垃圾收集器是Java虚拟机中负责自动管理内存的重要组件。它的主要任务是自动回收不再使用的对象&#xff0c;以防止内存泄漏&#xff0c;并使得程序员无需关心内存管理问题&…

快乐数(双指针)

算法原理 通过题目的第二条我们可以知道&#xff1a;这道题只有两种结果&#xff1a; &#xff08;1&#xff09;一直循环并且变不成1&#xff1b; &#xff08;2&#xff09;能变成1 以上的两种情况其实我们可以归结成一种情况&#xff1a;都是无限循环但是第二种是对于1的…

Unreal游戏GPU性能优化检测模式全新上线

UWA已经在去年推出了针对于Unity项目的GPU性能优化工具&#xff0c;通过对GPU渲染性能、带宽性能以及各种下探指标&#xff0c;帮助Unity项目研发团队定位由GPU导致的发热耗电问题。这个需求在Unreal团队中也极为强烈&#xff0c;因此UWA将该功能移植到针对Unreal项目的GOT Onl…

深度学习之基于Vgg16卷积神经网络心电图心脏病诊断系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 心脏病作为全球范围内的一种常见且严重的疾病&#xff0c;其早期的准确诊断对于患者的治疗和康复至关…

深度学习之基于YOLOv8学生课堂行为检测系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与目标 随着教育信息化的不断推进&#xff0c;对学生课堂行为的实时监测与评估成为了教育领域的研究热…

图像处理技术与应用(四)

图像处理技术与应用入门 颜色空间及其转换 颜色空间是一种用于在数字图像中表达和指定颜色的方法。不同的颜色空间使用不同的方式来定义颜色&#xff0c;每种方式都有其特定的用途和优势。以下是一些常见的颜色空间及其特点&#xff1a; RGB&#xff08;红绿蓝&#xff09;&a…

【七十九】【算法分析与设计】并查集模板!!!并查集的实现_牛客题霸_牛客网,【模板】并查集 - 洛谷,并查集代码!!!

并查集的实现_牛客题霸_牛客网 描述 给定一个没有重复值的整形数组arr&#xff0c;初始时认为arr中每一个数各自都是一个单独的集合。请设计一种叫UnionFind的结构&#xff0c;并提供以下两个操作。 boolean isSameSet(int a, int b): 查询a和b这两个数是否属于一个集合 void u…

SparkSQL编程入口和模型与SparkSQL基本编程

SparkSQL编程入口和模型 SparkSQL编程模型 主要通过两种方式操作SparkSQL&#xff0c;一种就是SQL&#xff0c;另一种为DataFrame和Dataset。 1)SQL&#xff1a;SQL不用多说&#xff0c;就和Hive操作一样&#xff0c;但是需要清楚一点的是&#xff0c;SQL操作的是表&#xf…

90、动态规划-最长的有效括号

思路&#xff1a; 找出有效括号并且是最长的有效括号 dp[i]表示以i结尾的括号最长是多少 然后从1开始 因为从0位置不管是左括号还是右括号都是无法形成一个完成的括号。所以dp[0]0&#xff1b; 当i1时候&#xff0c;判断括号是否是&#xff09;如果不是那么无法结尾&#x…

3. FactoryTalk View SE按钮工具库

系统自带的按钮比较丑陋&#xff0c;为了迎合客户需求可以从工具库中选择漂亮的按钮图形。 单击按钮选择释放外观–使用图像引用–启动库–选择按钮库&#xff0c;找到一款合适的图形–右键copy copy之后点击从库中粘贴–确定 这样就实现按下按钮的颜色是红色&#xff0c;在…

记录一次给PCAN升级固件pcan_canable_hw-449dc73.bin

方法一:网页升级 首先将3.3V与BOOT短接,插入电脑USB接口,识别为STM32 BOOTLOADER,芯片进入DFU模式。 如果电脑没有识别到STM32 BOOTLOADER,或无法驱动,则需要安装ImpulseRC_Driver_Fixer修复工具。 推荐使用Google浏览器打开网页升级选择PCAN固件,点Connect and Update,…

【Stream 流】通过一个例子看遍所有Stream API使用场景

前言 上篇文章记录了方法引用&#xff0c;Lambda表达式等基础的知识点&#xff0c;这篇文章主要结合课设项目详细介绍Stream 流的API以及它的主要场景。 Stream API作用 在Java 8及其以后的版本中&#xff0c;Stream API为处理集合数据提供了强大而灵活的功能。有了Stream AP…

Java双亲委派机制

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 概述 Java程序在运…

JAVA聊天室-网络编程socket+javafx+maven【附带exe+源代码,小白可运行,简单容易上手,代码附带注释】

前言 可以学习到java网络编程的知识&#xff0c;也可以拿去当个模板去添加功能 项目展示&#xff1a; chatv1.0 服务器打包视频&#xff1a; 服务器打包exe 1. 项目概述 本项目旨在开发一个简单的群聊室应用程序&#xff0c;使用JavaFX作为用户界面框架&#xff0c;以及Java…

管道通信与Linux命令的执行-(读书笔记-十三)

|前一个命令的输出作为后一个命令的输入。 在Linux中&#xff0c;|符号是一个管道符号&#xff0c;用于将前一个命令的输出作为后一个命令的输入。这种机制允许你将多个命令组合在一起&#xff0c;以执行复杂的操作。下面是一些基本的例子&#xff1a; 查看当前目录下的文件列…