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 相关文章推荐
网页的标准,IMG不支持onload标签怎么办
Jun 29 Javascript
JQUERY THICKBOX弹出层插件
Aug 30 Javascript
各种常用浏览器getBoundingClientRect的解析
May 21 Javascript
jQuery 行级解析读取XML文件(附源码)
Oct 12 Javascript
jQuery ztree实现动态树形多选菜单
Aug 12 Javascript
JS仿hao123导航页面图片轮播效果
Sep 01 Javascript
jQuery查找节点并获取节点属性的方法
Sep 09 Javascript
详解JavaScript数组过滤相同元素的5种方法
May 23 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
Dec 06 Javascript
基于javascript实现碰撞检测
Mar 12 Javascript
vue 页面回退mounted函数不执行的解决方案
Jul 26 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
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
Symfony生成二维码的方法
2016/02/04 PHP
Javascript获取随机数的实现方法
2016/06/22 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
python常用排序算法的实现代码
2019/11/08 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
制药工程专业应届生求职信
2013/09/24 职场文书
仓库管理专业个人自我评价范文
2013/11/11 职场文书
应届毕业生的自我鉴定
2013/11/13 职场文书
教师队伍管理制度
2014/01/14 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
商铺门面租房协议书
2014/10/21 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
酒店温馨提示语
2015/07/14 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
PHP基本语法
2021/03/31 PHP
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript