• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

常见经典动效实现老虎机、打字机、纸牌翻转等等

武飞扬头像
吃鱼吐泡泡
帮助1

一、老虎机🎰抽奖

效果图:

学新通

实现思路: 

1、将老虎机图片放置好之后,在要滚动的区域等宽的按照需要划分积分区域,设置position:absolute,如下图,再将最重要显示的区域(即绿色区域)外的部分用overflow: hidden隐藏;

学新通

2、此时需要考虑的是让积分区域滚动起来,我用的方法是使积分区域离顶部距离不断变化,从而实现一个向下的滚动效果。

3、最重要的一步,就是要确定最后滚动停留的积分位置,由于积分是随机给的,所以这里需要用到css变量,动态地计算出最后积分距顶部距离,再结合第2步滚动起来即可实现积分滚动。

4、结合实际需要添加其他后续效果。

核心代码:(小程序为例)

设置变量: --point-mid-height为中间态,可不设置;主要的是--point-final-height的计算。

  1.  
    this.setData({
  2.  
    style: `--point-final-height: ${130 * (19 - randomScore)}rpx;
  3.  
    --point-mid-height: ${130 * (19 - randomScore) * 0.7}rpx;`
  4.  
    })
  1.  
    //积分所在区域
  2.  
    .point-box {
  3.  
    display: flex;
  4.  
    flex-direction: column;
  5.  
    flex-direction: column-reverse;
  6.  
    width: 328rpx;
  7.  
    height: 131rpx;
  8.  
    background: rgba(255, 254, 238, 0);
  9.  
    position: absolute;
  10.  
    top: 0;
  11.  
    animation: bounce_box 1.5s linear 1s forwards;
  12.  
    }
  13.  
     
  14.  
    @keyframes bounce_box {
  15.  
    0% {
  16.  
    top: 0rpx
  17.  
    }
  18.  
     
  19.  
    50% {
  20.  
    top: var(--point-mid-height); //中间状态,可不设置
  21.  
    }
  22.  
     
  23.  
    100% {
  24.  
    top: var(--point-final-height); //最终状态,积分高度
  25.  
    }
  26.  
    }
学新通

二、打字机效果

效果图:

学新通

 实现思路:

实现的方法有多种,有css、js实现等等。css使用animation和steps结合;js可使用setTimeOut、setInterval、requestAnimationFrame等等。

css实现:

Steps(<number_of_steps>,<direction>): steps接收两个参数,第一个参数指定动画分割的段数;第二个参数可选,接受start和 end两个值,指定在每个间隔的起点或是终点发生阶跃变化,默认为 end。      

  1.  
    div {
  2.  
    font-size: 20px;
  3.  
    /* 初始宽度为0 */
  4.  
    width: 0;
  5.  
    height: 30px;
  6.  
    border-right: 1px solid darkgray;
  7.  
    animation: write 4s steps(14) forwards, blink 0.5s steps(1) infinite;
  8.  
    overflow: hidden;
  9.  
    }
  10.  
     
  11.  
    @keyframes write {
  12.  
    0% {
  13.  
    width: 0;
  14.  
    }
  15.  
    100% {
  16.  
    width: 280px;
  17.  
    }
  18.  
    }
  19.  
     
  20.  
    @keyframes blink {
  21.  
    50% {
  22.  
    border-color: transparent;
  23.  
    }
  24.  
    }
学新通

demo: GitHub - 14130110048/typewriter-effect: 打字机效果 

三、纸牌翻转效果

效果图:

学新通

 实现思路:

1、在最外层容器元素加属性transform-style: preserve-3d,使整个元素在3d空间呈现。

注:

transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间中呈现。他主要有两个属性值:flat和preserve-3d。

transform-style属性的使用语法非常简单:

transform-style: flat | preserve-3d  ;

其中flat值为默认值,表示所有子元素在2D平面呈现。preserve-3d表示所有子元素在3D空间中呈现。

2、 设置两个卡片容器,一正一反,两个容器加属性backface-visibility: hidden;

注:

backface-visibility 指定当元素背面朝向观察者时是否可见。

3、正反面容器加翻转效果。

核心代码:

  1.  
    <view class="medal-card">
  2.  
    <view class="card fornt bg"></view>
  3.  
    <view class="card back bg"></view>
  4.  
    </view>
  1.  
    .medal-card {
  2.  
    width: 283rpx;
  3.  
    height: 376rpx;
  4.  
    position: relative;
  5.  
    transform-style: preserve-3d;
  6.  
    }
  7.  
     
  8.  
    .card {
  9.  
    width: 283rpx;
  10.  
    height: 376rpx;
  11.  
    position: absolute;
  12.  
    backface-visibility: hidden;
  13.  
    }
  14.  
     
  15.  
    .card.fornt {
  16.  
    background-image: url(https://xxx.png);
  17.  
    transform: rotateY(180deg);
  18.  
    animation: backface 1s ease-in-out 1s normal forwards;
  19.  
    }
  20.  
     
  21.  
    .card.back {
  22.  
    background-image: url(https://xxx.png);
  23.  
    animation: backface1 1s ease-in-out 1s normal forwards;
  24.  
    }
  25.  
     
  26.  
    @keyframes backface {
  27.  
    100% {
  28.  
    transform: rotateY(0);
  29.  
    }
  30.  
    }
  31.  
     
  32.  
    @keyframes backface1 {
  33.  
    100% {
  34.  
    transform: rotateY(180deg);
  35.  
    }
  36.  
    }
学新通

不断补充中。。。。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhhabeji
系列文章
更多 icon
同类精品
更多 icon
继续加载