dom元素+CSS实现阶梯动画效果

1.效果

2.代码实现

<template>
  <div class="container">
    <div class="Box">
      <div class="box" style="background-color: red;"></div>
      <div class="box" style="background-color: orange;"></div>
      <div class="box" style="background-color: yellow;"></div>
      <div class="box" style="background-color: green;"></div>
      <div class="box" style="background-color: skyblue;"></div>
      <div class="box" style="background-color: blue;"></div>
    </div>
  </div>
</template>
<script>

export default {
  mounted () {
    this.setActions()
  },
  methods: {
    setActions () {
      //选中所有盒子
      const arr = document.querySelectorAll('.box')
 
 	  //循环添加事件监听
      arr.forEach(e => {
        e.addEventListener('mouseenter', () => {
          //通过添加类名实现盒子上移
          e.classList.add('boxMoveTwoStep')
          //判断前后的兄弟节点是否存在
          if (e.previousElementSibling) {//上一个节点
            e.previousElementSibling.classList.add('boxMoveOneStep')
          }
          if (e.nextElementSibling) {//下一个节点
            e.nextElementSibling.classList.add('boxMoveOneStep')
          }
        })
		//鼠标移除恢复盒子位置
        e.addEventListener('mouseleave', () => {
          e.classList.remove('boxMoveTwoStep')
          if (e.previousElementSibling) {
            e.previousElementSibling.classList.remove('boxMoveOneStep')
          }
          if (e.nextElementSibling) {
            e.nextElementSibling.classList.remove('boxMoveOneStep')
          }
        })
      })
    }
  }
}
</script>
<style lang='scss' scoped>
.container {
  width: 100%;
  height: 100%;
  overflow-y: hidden;
  position: relative;

  .Box {
    position: absolute;
    bottom: -50px;
    width: 100%;
    height: 100px;
  }

  .box {
    width: 50px;
    height: 100px;
    display: inline-block;
    background-color: pink;
    transition: 0.3s;
  }
}

.boxMoveOneStep {
  transform: translate(0px, -30px);
}

.boxMoveTwoStep {
  transform: translate(0px, -50px);
}
</style>

相关推荐

  1. dom元素+CSS实现阶梯动画效果

    2024-03-24 14:58:01       18 阅读
  2. css动画旋转效果实现

    2024-03-24 14:58:01       37 阅读
  3. css 多种动画效果

    2024-03-24 14:58:01       44 阅读
  4. CSS动画效果

    2024-03-24 14:58:01       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-24 14:58:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-24 14:58:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-24 14:58:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-24 14:58:01       20 阅读

热门阅读

  1. Linux安装iptables 防火墙

    2024-03-24 14:58:01       19 阅读
  2. 前端安全之XSS与CSRF

    2024-03-24 14:58:01       14 阅读
  3. Median of an Array(贪心策略,编程技巧)

    2024-03-24 14:58:01       19 阅读
  4. Mysql

    Mysql

    2024-03-24 14:58:01      15 阅读
  5. arm linux应用程序crash分析一般方法

    2024-03-24 14:58:01       17 阅读
  6. Vue2 CSS小知识点

    2024-03-24 14:58:01       18 阅读
  7. 【力扣】268.丢失的数字

    2024-03-24 14:58:01       18 阅读
  8. 防火墙有哪些特点?

    2024-03-24 14:58:01       17 阅读
  9. Web框架开发-Django-数据库表的单表查询

    2024-03-24 14:58:01       19 阅读
  10. new world of dream

    2024-03-24 14:58:01       17 阅读
  11. flask项目部署

    2024-03-24 14:58:01       18 阅读