(十二)原生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)
      
    }
   }

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

相关推荐
不会敲代码114 分钟前
从零搭建 AI 日记助手:用 Milvus 向量数据库实现语义搜索
javascript·openai
千寻girling28 分钟前
《 Git 详细教程 》
前端·后端·面试
threelab1 小时前
Three.js UV 图像变换效果 | 三维可视化 / AI 提示词
javascript·人工智能·uv
之歆2 小时前
DAY08_CSS浮动与行内块布局实战指南(下)
前端·css
yqcoder2 小时前
CSS Position 全解析:5 种定位模式详解
前端·css
Rhi6373 小时前
从零搭建项目:React 19 + Vite 8 + Tailwind CSS v4 实战配置
前端
竹林8183 小时前
用Viem替代ethers.js:从一次签名失败到完整迁移的实战记录
前端·javascript
之歆3 小时前
DAY08_CSS浮动与行内块布局实战指南(上)
前端·css
light blue bird3 小时前
主子端台二分法任务汇总组件
前端·数据库·.net·桌面端winform
不可能的是4 小时前
Claude Code 子 Agent 机制全解:怎么跑起来、怎么被管理、怎么互不干扰
javascript