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

小程序使用this.animate实现3维动画切换

小程序使用this.animate实现3维动画切换

这里以三张图片为例
话不多说,直接上代码

wxml

<view class="container"><view class="carousel" id="carousel_id"><view class="box" wx:for="{{items}}" wx:for-item="item" wx:for-index="index" wx:key="index" style="display: flex;flex-direction: column;transform: rotateY({{index * -120}}deg) translateZ({{translateZ}});"><image class="DoorLock" src="{{item.pic}}" /></view></view>
</view><button type="primary" bindtap="play" style="margin-top: 200rpx;">切换</button>

js


Page({data: {translateZ: '0px',rotateY: 0,items: [{ "name": "酒杏鲍菇", "pic": "https://api.jisuapi.com/recipe/upload/20160719/120829_70383.jpg" },{ "name": "醋黄瓜丝", "pic": "https://api.jisuapi.com/recipe/upload/20160719/120712_61817.jpg" },{ "name": "式柠檬蒸鲈鱼", "pic": "https://api.jisuapi.com/recipe/upload/20160719/115500_14721.jpg" },]},onLoad(options) {const that = this;wx.getSystemInfo({success: (res) => {that.setData({translateZ: (res.windowWidth / 2 - 20) + 'px'});}});console.log('translateZ的值为:' + this.data.translateZ)},play() {let that = thisthis.animate('#carousel_id', [{ ease: 'ease', rotateY: this.data.rotateY },{ ease: 'ease', rotateY: this.data.rotateY+120 }], 500, function () {let rotateY = that.data.rotateY + 120rotateY = rotateY == 360 ? 0 : rotateYthat.setData({rotateY: rotateY})console.log('当前rotateY值为:' + that.data.rotateY)});},
});

wxss

.container {margin: 20rpx 300rpx;width: 70px;height: 40px;position: relative;perspective: 1000px;-webkit-perspective: 1500px;
}.carousel {width: 100%;height: 100%;position: absolute;transform-style: preserve-3d;-webkit-transform-style: preserve-3d;/* animation: rotation 10s infinite linear;-webkit-animation: rotation 10s infinite linear; */
}.carousel:hover {animation-play-state: paused;-webkit-animation-play-state: paused;
}.carousel view {display: block;position: absolute;width: 70px;height: 70px;/* left: 10px; */top: 10px;background: #2262E6;overflow: hidden;border: solid 2px #07C160;
}.box image {filter: grayscale(0);cursor: pointer;transition: all 0.3s ease 0s;width: 100%;height: 100%;
}.box image:hover {filter: grayscale(0);-webkit-filter: grayscale(0);transform: scale(1, 1);-webkit-transform: scale(1, 1);
}@keyframes rotation {from {transform: rotateY(0deg);}to {transform: rotateY(360deg);}
}.DoorLock {position: fixed;opacity: 0.9;height: 70px;width: 70px;/* margin-left: 80rpx; */margin-top: -40px;justify-content: center;/* background-color: greenyellow; */
}

说明

1.点击切换实现3维切换
2.每次点击旋转120度,也就是一圈的三分之一,并且每次会继承上次旋转的角度,不然再次点击时回复原位置
3.rotateY表示每个图片之间的位置角度,这里将三张图片按idnex均匀分布

相关文章:

小程序使用this.animate实现3维动画切换

小程序使用this.animate实现3维动画切换 这里以三张图片为例 话不多说&#xff0c;直接上代码 wxml <view class"container"><view class"carousel" id"carousel_id"><view class"box" wx:for"{{items}}"…...

【区块链+社会公益】第一反应互助急救链 | FISCO BCOS应用案例

第一反应互助急救链将现有业务体系和系统与 FISCO BCOS 的区块链底层技术相结合&#xff0c;使得公益行为及其证据、 积分、奖励过程以区块链的方式进行记录&#xff0c;确保公正、透明、不可篡改。此外&#xff0c;项目将赛事保障、公益急救培训、 社区互助急救、AED 勘察等社…...

leetcode 136. 只出现一次的数字

https://leetcode.cn/problems/single-number/description/?envTypestudy-plan-v2&envIdtop-interview-150 136. 只出现一次的数字 已解答 简单 相关标签 相关企业 提示 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出…...

可扩展架构设计:策略与最佳实践

在快速变化的数字世界中&#xff0c;构建可扩展的架构设计已经成为企业成功的关键因素之一。随着业务规模的不断扩大&#xff0c;系统需求也随之增加&#xff0c;因此&#xff0c;能够灵活适应变化的系统架构变得尤为重要。本文将详细介绍可扩展架构设计的核心概念、重要性以及…...

一图胜千言|图解Pandas常用操作!

Pandas 展示 请看下表: 它描述了一个在线商店的不同产品线&#xff0c;共有四种不同的产品。与前面的例子不同&#xff0c;它可以用NumPy数组或Pandas DataFrame表示。但让我们看一下它的一些常见操作。 1. 排序 使用Pandas按列排序更具可读性&#xff0c;如下所示: 这里arg…...

ue5正确导入资源 content(内容),content只能有一个

把资源content下的东西&#xff0c;全部拷贝&#xff0c;放在项目的content下 content只能有一个...

HTTP协议基础知识【后端 4】

HTTP协议基础知识 HTTP&#xff08;Hyper Text Transfer Protocol&#xff0c;超文本传输协议&#xff09;是互联网上应用最为广泛的一种网络协议&#xff0c;它定义了客户端&#xff08;如浏览器&#xff09;与服务器之间数据传输的格式和规则。无论是浏览网页、在线购物还是使…...

2024/8/10 英语每日一段

Microsoft, Meta Platforms and Alphabet have spent billions on generative AI, spurred on by the release of startup OpenAI’s ChatGPT software released in late 2022. The world’s biggest technology companies have yet to unveil a strategy that points to relia…...

深入探索 Wireshark——网络封包分析的利器

一、引言 在当今数字化的时代&#xff0c;网络通信变得日益复杂和关键。无论是企业的网络运维&#xff0c;还是网络安全研究&#xff0c;都需要深入了解网络中传输的数据。Wireshark 作为一款强大的网络封包分析工具&#xff0c;成为了网络工程师、安全研究人员和技术爱好者不…...

VS2022使用.Net Framework4.0方法

从安装了低版本VS的电脑中 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework \ 目录下 复制.Net Framework 4.0 等需要的目标包 如果打开项目仍然需要升级目标包的&#xff0c;先升级&#xff0c;加载项目后仍可更改目标包为.Net Framework 4…...

创建一个简单的贪吃蛇游戏:HTML、CSS和JavaScript教程

在本教程中&#xff0c;我们将逐步构建一个简单的贪吃蛇游戏。这个项目适合初学者&#xff0c;可以帮助你理解HTML、CSS和JavaScript的基础知识&#xff0c;并掌握如何将它们结合起来创建一个完整的游戏。 准备工作 在开始之前&#xff0c;请确保你已经安装了一个代码编辑器&…...

全面讲解电子齿轮比与脉冲数计算

一、什么是编码器分辨率 编码器&#xff08;encoder&#xff09;是将信号&#xff08;如比特流&#xff09;或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换为电信号&#xff0c;按照读出方式编码器可以分为接触式和非接触式两种…...

音频进阶学习一——模拟信号和数字信号

文章目录 前言|版本声明&#xff1a;山河君&#xff0c;未经博主允许&#xff0c;禁止转载 一、什么是模拟信号和数字信号信号模拟信号数字信号数字和模拟信号的区别一览 二、信号处理系统总结 前言 所有软件的运行都得益于硬件上的突破&#xff0c;数字信号是从40年前就开始高…...

SpringBoot企业人事管理系统-附源码与配套论文

1.1引言 随着计算机技术的飞速发展&#xff0c;计算机在各种单位机构管理中应用的普及﹐管理信息系统的开发在强调管理、强调信息的现代社会中也显得越来越重要。因此,利用计算机高效率地完成人事管理的日常事务&#xff0c;是适应现代各种单位机构制度要求、推动各种单位机构…...

用window计算器实现定点数的十进制和二进制之间相互转换

目录 前言 已知十进制定点数,求二进制定点数 正数 整数部分 小数部分 负数 已知二进制定点数,求十进制定点数 正数 负数 前言 windows 10自带的计算器,具有程序员模式,可以方便的进行进制的转换,但是由于二进制模式下,无法输入十进制的小数,所以无法直接实现定…...

搬砖人2024年的智能工作伙伴 —— 4款思维导图软件种草集!

幕布思维导图这玩意儿特别厉害&#xff0c;成了很多学生学习的好帮手&#xff0c;在学习中经常觉得信息太多太乱&#xff0c;不好理清楚。这时候用幕布思维导图&#xff0c;我们可以把那些复杂的知识点整理得有条有理。每个主题、每个小点都清清楚楚&#xff0c;学习的时候一眼…...

【Python第三方库】Requests全面解析

文章目录 安装基本用法测试网站发送GET请求发送POST请求更多请求请求参数请求头其他常用请求属性处理响应响应状态码响应内容 处理超时处理异常 requests 是一个非常流行的 Python HTTP 库&#xff0c;用于发送所有类型的 HTTP 请求。它简洁易用&#xff0c;能够处理复杂的请求…...

基于CNN的医学X-Ray图像分类全程解析

数据集 我们所使用的数据集是胸部 X 光图像,它包含 2 个类别:肺炎和正常。该数据集由 Paulo Breviglieri 发布,是 Paul Mooney 最受欢迎数据集的修订版,此更新版本的数据集在验证集和测试集中的图像分布更加均衡。数据集分为 3 个文件夹(训练、测试、验证),包含肺炎和正…...

C++初学者指南-5.标准库(第二部分)--排序序列操作

C初学者指南-5.标准库(第二部分)–排序序列操作 文章目录 C初学者指南-5.标准库(第二部分)--排序序列操作二分查找binary_searchlower_boundupper_boundequal_rangeincludes 合并mergeinplace_merge 设置操作set_unionset_intersectionset_differenceset_symmetric_difference …...

matplotlib库学习之绘图透明度设置(精炼准确)

matplotlib库学习之透明颜色设置 一、简介 在数据可视化中&#xff0c;透明度设置可以使图表更具层次感&#xff0c;特别是在多层叠加图表时。matplotlib库提供了多种方法来设置图表各个部分的透明度&#xff0c;包括图形、文本、图例、坐标轴等部分。 二、为什么要设置成透明…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...