【原生js案例】移动端如何实现页面的入场和出场动画

devtools/2024/12/23 8:11:37/

好的css动画,能给用户体验带来很大的提升,同时也能增加app的趣味性,给人眼前一亮的感觉。那如何实现这种全屏的弹窗入场和退场的动画

实现效果

请添加图片描述

代码实现

  • UI样式美化
#musicDetails{width: 100%;height: 100%;top:0;left:0;position: absolute;background: url(./img/detailsBg.jpg) no-repeat;background-size: cover;z-index: 99;background-position: bottom;}
  • html结构
<div id="musicDetails"><div class="details_title"><div  class="details_name"><span id="details_songName">异形人</span><span id="details_singerName">李建</span></div><span id="details_tips" class="details_tips"></span></div><div class="details_lyric"></div><div class="details_audio"><div class="details_audioAll"><div class="details_audioPro"><div class="details_audioProUp"></div><div class="details_audioProBar"></div></div><div class="details_nowTime">00:00</div><div class="details_allTime">04:32</div><div class="details_play"></div><div class="details_pre"></div><div class="details_next"></div></div></div><ul class="details_btn"><li class="active"></li><li></li></ul></div>
  • 核心业务逻辑实现

    也就是点击按钮,使用js实现css3translate动画

function bind(){$details_tips.on(touchstart,function(){slideDown()})
}function slideUp(){$musicDetails.css("transition",".5s")$musicDetails.css("transform",`translate3d(0,0px,0)`)// 修改详情页面的歌名和歌手名details_songName.text(list_audioTitle.text())details_singerName.text(list_audioName.text())}
function slideDown(){$musicDetails.css("transform",`translate3d(0,${viewHeight}px,0)`)
}

这样我们就实现了详情页面的显示和隐藏的弹出动画


http://www.ppmy.cn/devtools/144629.html

相关文章

聊聊开源的虚拟化平台--PVE

原文链接&#xff1a;聊聊开源的虚拟化平台–PVE PVE&#xff08;Proxmox Virtual Environment&#xff09;是一种开源的虚拟化平台&#xff0c;支持容器化&#xff08;LXC&#xff09;和虚拟机&#xff08;KVM&#xff09;&#xff0c;可用于创建和管理虚拟化环境。它基于Debi…

【Linux系统编程】:信号(2)——信号的产生

1.前言 我们会讲解五种信号产生的方式: 通过终端按键产生信号&#xff0c;比如键盘上的CtrlC。kill命令。本质上是调用kill()调用函数接口产生信号硬件异常产生信号软件条件产生信号 前两种在前一篇文章中做了介绍&#xff0c;本文介绍下面三种. 2. 调用函数产生信号 2.1 k…

基于PWLCM混沌映射的麋鹿群优化算法(Elk herd optimizer,EHO)的多无人机协同路径规划,MATLAB代码

一、麋鹿群优化算法EHO 基本概念 麋鹿群优化算法&#xff08;EHO&#xff0c;Elephant Herding Optimization&#xff09;是2024年提出的一种启发式优化算法&#xff0c;它的灵感来自麋鹿群的繁殖过程。麋鹿有两个主要的繁殖季节&#xff1a;发情和产犊。在发情季节&#xff0…

duilib.dll报错崩溃?一文学会如何解决!

duilib.dll是一个动态链接库&#xff08;DLL&#xff09;文件&#xff0c;属于DuiLib&#xff08;DirectUI Library&#xff09;项目的核心组件。DuiLib是一个开源的C UI框架&#xff0c;专为Windows应用程序提供高效、灵活和可定制的用户界面解决方案。 duilib.dll包含了一系…

如何将 Java 微服务引入云

所有公司都是软件公司&#xff0c;企业将始终面临保持用户和应用程序之间集成可扩展、高效、快速和高质量的挑战。为了解决这个问题&#xff0c;云、微服务和其他现代解决方案越来越多地出现在架构决策中。 问题是&#xff0c;Java 是否准备好在企业环境中处理这些不同的概念&…

Python解释器和PyCharm详解

目录 1.什么是Python解释器? Python解释器的类型和特性 Python解释器的优势 2.什么工具可以写Python文件? 3.为什么Python解释器和PyCharm不在同一个网站? 1.什么是Python解释器? Python解释器‌是Python程序运行的核心&#xff0c;它的主要作用是将Python代码转换为…

游戏引擎学习第54天

仓库: https://gitee.com/mrxiao_com/2d_game 回顾 我们现在正专注于在游戏世界中放置小实体来代表所有的墙。这些实体围绕着世界的每个边缘。我们有活跃的实体&#xff0c;这些实体位于玩家的视野中&#xff0c;频繁更新&#xff0c;而那些离玩家较远的实体则以较低的频率运…

条款32 使用初始化捕获来移动对象到闭包中

目录 一、初始化捕获 二、C14之前的替代方案1 三、C14之前的替代方案2 一、初始化捕获 auto pw std::make_unique<Widget>(); auto func [pw std::move(pw)]{ return pw->isValidated() && pw->isArchived(); }; 二、C14之前的替代方案1 原理&…