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 相关文章推荐
Javascript miscellanea -display data real time, using window.status
Jan 09 Javascript
JQuery 国际象棋棋盘 实现代码
Jun 26 Javascript
ajax处理php返回json数据的实例代码
Jan 24 Javascript
浅谈JS中逗号运算符的用法
Jun 12 Javascript
JavaScript创建对象的七种方式全面总结
Aug 21 Javascript
前端axios下载excel文件(二进制)的处理方法
Jul 31 Javascript
vue将单页面改造成多页面应用的方法
Nov 25 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
vue 实现路由跳转时更改页面title
Nov 05 Javascript
详解JavaScript作用域 闭包
Jul 29 Javascript
Vue组件简易模拟实现购物车
Dec 21 Vue.js
Javascript 解构赋值详情
Nov 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
PHP获取当前文件所在目录 getcwd()函数
2009/05/13 PHP
PHP 类相关函数的使用详解
2013/05/10 PHP
Yii框架登录流程分析
2014/12/03 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
jQuery DOM操作小结与实例
2010/01/07 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
用python实现对比两张图片的不同
2018/02/05 Python
详解Python中的正则表达式
2018/07/08 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
python中逻辑与或(and、or)和按位与或异或(&amp;、|、^)区别
2020/08/05 Python
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
农村结婚典礼司仪主持词
2014/03/14 职场文书
旅游安全协议书
2014/04/21 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
住房抵押登记委托书
2014/09/27 职场文书
管辖权异议上诉状
2015/05/23 职场文书
运动会200米广播稿
2015/08/19 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL