js实现随机div颜色位置 类似满天星效果


Posted in Javascript onOctober 24, 2019

本文实例为大家分享了js实现随机div颜色位置的具体代码,供大家参考,具体内容如下

效果如下:

js实现随机div颜色位置 类似满天星效果

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>MTX</title>
 <style>
  div{width: 50px;height: 50px;position: absolute;}
 </style>
</head>
<body>
 
<!--//定义10个div,用于随机div的属性赋值-->
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<div id="div4"></div>
<div id="div5"></div>
<div id="div6"></div>
<div id="div7"></div>
<div id="div8"></div>
<div id="div9"></div>
<div id="div10"></div>
 
<script>
 
 init();//入口函数
 function init() {
  randomDiv();//初始的随机
 }
 
 setInterval(randomDiv,100);//函数名 毫秒——过多长时间运行一次这个函数
 
 function randomDiv(){
  for (var i=1;i<11;i++){//为定义的各个div块一一设置随机属性
   var divs=document.getElementById("div"+i);//divs作为每次循环的数据暂存
   var point=divPosition();//point作为位置的数据暂存
   cloneObj(divs.style,{
    left:point.left,
    top:point.top,
    backgroundColor:divColor()
   })
  }
 }
 
 function cloneObj(target,source){
  for (var key in source){
   target[key]=source[key];
  }
 }
 
 //div位置随机
 function divPosition(elemWidth,elemHeight) {
  if(!elemWidth) elemWidth=50;
  if(!elemHeight) elemHeight=50;
  var left=Math.random()*(document.documentElement.clientWidth-elemWidth)+"px";
  //屏幕宽度减去本来50ox宽度 的随机与左面的距离
  var top=Math.random()*(document.documentElement.clientHeight-elemHeight)+"px";
  //屏幕高度减去本来50ox高度 的随机与上面的距离
  return {left:left,top:top};//返回 与左面的距离 与上面的距离
 }
 
 //背景颜色随机
 function divColor() {
  var col="#";//这个字符串第一位为# 颜色的格式
  for(var i=0;i<6;i++){
   col+=parseInt(Math.random()*16).toString(16);
   //rondom*16后的随机值即为0-1*16==0-16; toString(16)为转化为16进制
  }
  return col;//最后返回一个七位的值 格式即为#nnnnnn 颜色的格式
 }
 
</script>
</body>
</html>

总结:

这个小项目的实现主要是基于了Js中的随机函数Math.random():

将此案例分为入口函数init(),主要在这个函数中加入了randomDiv()————随机div这个函数。

randomDiv()函数中又由三大块组成,分别为定义divs:即为这10个div块进行一一的赋值做准备,在这个for循环中一一为divs代表的div块赋予随机函数给他们的随机值。以及var定义的这两个变量去取我们下面介绍的divColor、divPosition两个函数中的值。

cloneObj()函数的作用是:

* 1、遍历源对象中的所有关键字,关键字定义的变量是key 。
* 2、设置目标对象上面增加关键字key,并且设置该关键字的值是源对象该关键字的值 。
* 3、返回目标对象。

然后再说一下 divColor()函数,var col="#";定义这个col字符串用于存我们的颜色格式,下面的rondom()函数即为我们的颜色随机赋值,利用到了16进制,最后返回一个七位的值 格式即为#nnnnnn 颜色的格式。

位置随机函数为divPosition(elemWidth,elemHeight):

if(!elemWidth) elemWidth=50; if(!elemHeight) elemHeight=50;
这两行的作用是将我们的初始div的高度宽度引入,以便我们在实现随机位置的时候不会出现div块超出我们浏览器窗口的情况。
document.documentElement.clientWidth-elemWidth 浏览器宽度-50
document.documentElement.clientHeight-elemHeight 浏览器高度-50
这两局话即实现上述描述的这个过程。
最后返回 与左面的距离 与上面的距离。

setInterval(randomDiv,100);//函数名 毫秒——过多长时间运行一次这个函数。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
Apr 20 Javascript
JS request函数 用来获取url参数
May 17 Javascript
JQuery index()方法使用代码
Jun 02 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
Aug 05 Javascript
jQuery模拟点击A标记示例参考
Apr 17 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
Jan 06 Javascript
详解javascript new的运行机制
Jan 26 Javascript
jquery中键盘事件小结
Feb 24 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
Oct 25 Javascript
微信小程序实现验证码获取倒计时效果
Feb 08 Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 Javascript
javascript实现简易的计算器
Jan 17 Javascript
windows实现npm和cnpm安装步骤
Oct 24 #Javascript
JS实现简单随机3D骰子
Oct 24 #Javascript
JS合并两个数组的3种方法详解
Oct 24 #Javascript
js实现简单掷骰子小游戏
Oct 24 #Javascript
js实现GIF图片的分解和合成
Oct 24 #Javascript
js实现掷骰子小游戏
Oct 24 #Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
Oct 24 #Javascript
You might like
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
jquery 简单的进度条实现代码
2010/03/11 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
python定时器(Timer)用法简单实例
2015/06/04 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Python中and和or如何使用
2020/05/28 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
python如何变换环境
2020/07/21 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
普通大学毕业生自荐信
2013/11/04 职场文书
师范毕业生个人求职信
2013/12/09 职场文书
毕业生实习鉴定
2013/12/11 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
学校开除通知书
2015/04/25 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB