(十二)原生js案例之跳舞的小方块

鼠标点击,小方块掉落下来,再次点击全部返回原来的位置,再随意点击,小方块上下来回运动

实现效果

代码实现

  • 必要的css
css 复制代码
.box{
      width: 50px;
      height: 50px;
      background-color: #964DDD;
      margin-right: 10px;
      position: absolute;
      top:10px;
      color: #fff;
      text-align: center;
      line-height: 50px;
    }
  • 逻辑实现
js 复制代码
window.onload = function(){
    let str = ''
    for (var i = 0; i < 20; i++) {
        str += `<div class="box" style="left:${60*i+10}px">${i+1}</div>`
    }
    document.body.innerHTML = str

   // 获取所有div元素
   let boxs = document.getElementsByClassName('box')
    let num = 0,timer = null,isFlag = false
    document.onclick = function(e){
      isFlag = !isFlag
      clearInterval(timer)
      timer = setInterval(function(){
        doMove(boxs[num],'top',20,isFlag ? 300:10)
        isFlag ? num++ : num--
        if(num==boxs.length || num < 0){
          clearInterval(timer)
          isFlag ? num = boxs.length-1 : num = 0
        }
      },100)
      
    }
   }

可以拓展下,做成合适的业务功能

相关推荐
东东5162 分钟前
果园预售系统的设计与实现spingboot+vue
前端·javascript·vue.js·spring boot·个人开发
rainbow68894 分钟前
Python学生管理系统:JSON持久化实战
java·前端·python
打小就很皮...7 分钟前
React Router 7 全局路由保护
前端·react.js·router
起风的蛋挞16 分钟前
Matlab提示词语法
前端·javascript·matlab
有味道的男人17 分钟前
1688获得商品类目调取商品榜单
java·前端·spring
txwtech23 分钟前
第20篇esp32s3小智设置横屏
前端·html
Exquisite.31 分钟前
企业高性能web服务器---Nginx(2)
服务器·前端·nginx
DFT计算杂谈38 分钟前
VASP+PHONOPY+pypolymlpj计算不同温度下声子谱,附批处理脚本
java·前端·数据库·人工智能·python
广州华水科技42 分钟前
如何选择合适的单北斗变形监测系统来保障水库安全?
前端
Mr_Xuhhh1 小时前
MySQL表的内连接与外连接详解
java·前端·数据库