我在使用css3 animation时出现问题,想请教一下
现在有多个元素 点击按钮一个元素translate3d平移到屏幕中心,停留在最后状态,再次点击按钮这个元素回去,另一个元素同时平移。
css3: animation多个元素平移
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
7条回答 默认 最新
- zhu_xiaotong 2022-12-27 13:43关注
你要的是这样的吗?
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <style> .box { width: 100px; height: 100px; background-color: red; } /* 定义动画 */ @keyframes moveToCenter { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(50%, 50%, 0); } } @keyframes moveBack { from { transform: translate3d(50%, 50%, 0); } to { transform: translate3d(0, 0, 0); } } /* 应用动画 */ .move-to-center { animation: moveToCenter 1s ease-in-out; animation-fill-mode: forwards; } .move-back { animation: moveBack 1s ease-in-out; animation-fill-mode: forwards; } </style> <body> <button class="" onclick="on()">点击</button> <div style="display: flex;"> <div class="element1 box"></div> <div class="element2 box"></div> </div> </body> <script> const element1 = document.querySelector('.element1'); const element2 = document.querySelector('.element2'); // 点击按钮时启动/停止动画 const button = document.querySelector('button'); button.addEventListener('click', () => { if (element1.classList.contains('move-to-center')) { element1.classList.remove('move-to-center'); element1.classList.add('move-back'); element2.classList.add('move-to-center'); } else { element1.classList.add('move-to-center'); element1.classList.remove('move-back'); element2.classList.remove('move-to-center'); } }); //监听move-back属性动画的最终位置,并赋值 const element = document.querySelector('.move-back'); element.addEventListener('animationend', () => { element.style.transform = 'translate3d(50%, 50%, 0)'; }); </script> </html>
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?