2022-01-24 工作记录--CSS-TweenMax动画效果

TweenMax动画效果

TweenMax中文文档
在这里插入图片描述

一、实现效果

在这里插入图片描述

二、代码

HTML

 <div class="title_item">
        <div class="actual_item detail">
          <!-- 背景图 -->
          <img src="http://swt-app.oss-cn-chengdu.aliyuncs.com/images/20210915/735251631674455.png" alt="">
          <!-- 中间文字部分 -->
          <div class="t_texts">
            <p><span></span><span></span><span></span><span></span></p>
            <p>students</p>
          </div>
          <!-- 遮罩层 -->
          <div class="mask"></div>
        </div>
 </div>

CSS

.title_item {
  width: 33.333333%;
  height: 220px;
  margin-bottom: 45px;
}
.actual_item {
  width: 80%;
  height: 100%;
  margin: auto;
  cursor: pointer;
}
 .detail {
  position: relative;
  text-align: center;
  overflow: hidden;
}
//遮罩层
.mask {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.55);
}
//中间文字部分
.t_texts {
  position: absolute;
  z-index: 99;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
//中文文字样式
.detail p:first-child {
  font-size: 26px;
  font-family: Source Han Sans CN;
  font-weight: bold;
  color: #E4E4E4;
  letter-spacing: 6px;
  transition: color .5s;
}
//鼠标经过时,中文文字变成黄色
.detail:hover p:first-child {
  color: #FFAF10;
}
//英文文字样式
.detail p:last-child {
  font-size: 16px;
  font-family: Akrobat;
  color: #E4E4E4;
  letter-spacing: 1px;
}
//为了实现鼠标经过时中文文字有跳动效果,所以事先定义一下
.t_texts p span {
  transform: translate(0px,0px);
  display: inline-block;
}
//背景图片
.detail img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: all .5s;
}
//鼠标经过时背景图片放大并旋转-->
.detail:hover img {
  -webkit-transform: rotate3d(1,1,1,14deg) scale(1.256);
  transform: rotate3d(1,1,1,14deg) scale(1.256);
}

JS

第一步、下载TweenMax下载jQuery

下载jQuery的步骤就不详细介绍了,下面是下载TweenMax的步骤:
在这里插入图片描述
在这里插入图片描述
第三步、在需要的地方引入TweenMax.min.js就好啦~

最终JS相关代码如下:

<script src="js/common/jquery.min.js"></script>
<script src="js/common/TweenMax.min.js"></script>

<script>
  // 鼠标经过时
  $('.detail').on('mouseenter', function () {
    var spans = $(this).find('span');
    TweenMax.staggerFromTo(spans, 0.2, {y: '0'}, {y: '-20px'}, 0.1); // 0.2表示动画持续的秒数(或帧数,如果设置了useFrames:true);0.1表示每个动画的间隔,默认是0
  })
  // 鼠标离开后
  $('.detail').on('mouseleave', function () {
    var spans = $(this).find('span');
    TweenMax.staggerFromTo(spans, 0.2, {y: '-20px'}, {y: '0'}, 0.1); // 0.2表示动画持续的秒数(或帧数,如果设置了useFrames:true);0.1表示每个动画的间隔,默认是0
  })
</script>
三、【补充知识点:获取$(this)子节点对象的方法】

参考链接:https://www.cnblogs.com/fatty-yu/p/6122975.html
在这里插入图片描述

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小呀小萝卜儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值