IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript随机方块 -> 正文阅读

[JavaScript知识库]JavaScript随机方块

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>随机方块</title>
        <link rel="stylesheet" href="css.css">
    </head>
    <body>
        <div id="box">

        </div>
    </body>
</html>
<script src="tools.js"></script>
<script src="box.js"></script>
<script src="main.js"></script>
<script>
   
</script>
*{
    margin: 0px;
    padding: 0px;
}
#box{
    position: relative;
    width: 700px;
    height: 500px;
    background-color: slategrey;
}
//tools.js
var tools={
    getRandom:function(min,max) {
        min = Math.ceil(min);
        max = Math.floor(max);
        //得到一个两数之间的随机整数,包括两个数在内
        return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值 
    }
}

//box.js
function Box(parent,option) {
    //传入了一个则返回对象,否则返回空对象
    option=option||{};
    //设置对象的属性
    this.backgroundColor=option.backgroundColor||"red";
    this.width=option.width||20;
    this.height=option.height||20;
    this.x=option.x||0;
    this.y=option.y||0;

    //创建对应的div
    this.div=document.createElement("div");
    parent.appendChild(this.div);
    this.parent=parent;

    //设置div的样式
    this.init();
}
    //初始化div的样式
    Box.prototype.init=function () {
        var div=this.div;
        div.style.backgroundColor=this.backgroundColor;
        div.style.width=this.width+"px";
        div.style.height=this.height+"px";
        div.style.left=this.x+"px";
        div.style.top=this.y+"px";
        //脱离文档流
        div.style.position="absolute";
    }

    //随机生成方块的位置
    Box.prototype.random=function () {
        //父元素的宽度/方块的宽度=总共能放多少个方块
        var x=tools.getRandom(0,this.parent.offsetWidth/this.width-1)*this.width;
        var y=tools.getRandom(0,this.parent.offsetHeight/this.height-1)*this.height;
        this.div.style.left=x+"px";
        this.div.style.top=y+"px";
    }

//main.js
//生成十个方块,随机生成颜色
var box=document.getElementById("box");
var array=[];
for (var i = 0; i < 10; i++) {
    var r=tools.getRandom(0,255);
    var g=tools.getRandom(0,255);
    var b=tools.getRandom(0,255);
    var bo=new Box(box,{
        backgroundColor:'rgb('+r+','+g+','+b+')'
    })
    
   array.push(bo);
}

//设置定时器,设置随机位置
setInterval(randoms,500);

//页面加载完成,先设置随机位置
randoms();

function randoms() {
    for (var i = 0; i < array.length; i++) {
        var box=array[i];
        box.random();
    }
}
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-07 11:56:25  更:2021-12-07 11:58:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:26:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码