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 相关文章推荐
Jquery的each里用return true或false代替break或continue
May 21 Javascript
封装获取dom元素的简单实例
Jul 08 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
Angular2 组件交互实例详解
Aug 24 Javascript
JS实现中文汉字按拼音排序的方法
Oct 09 Javascript
浅谈vue父子组件怎么传值
Jul 21 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
微信小程序实现富文本图片宽度自适应的方法
Jan 20 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 jQuery
layui 图片上传+表单提交+ Spring MVC的实例
Sep 21 Javascript
js实现上下左右键盘控制div移动
Jan 16 Javascript
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
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
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
python 实现登录网页的操作方法
2018/05/11 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
学python安装的软件总结
2019/10/12 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
python 装饰器的使用示例
2020/10/10 Python
python 实现Harris角点检测算法
2020/12/11 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
师范生的个人求职信范文
2014/01/04 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
通信生自我鉴定
2014/01/18 职场文书
采购经理岗位职责
2014/02/16 职场文书
广告传媒专业应届生求职信
2014/03/01 职场文书
《石榴》教学反思
2014/03/02 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
怎样写离婚协议书
2015/01/26 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android