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 相关文章推荐
不要在cookie中使用特殊字符的原因分析
Jul 13 Javascript
javascript中apply和call方法的作用及区别说明
Feb 14 Javascript
调试代码导致IE出错的避免方法
Apr 04 Javascript
JavaScript中setFullYear()方法的使用详解
Jun 11 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
Oct 01 Javascript
javascript中Number的方法小结
Nov 21 Javascript
80%应聘者都不及格的JS面试题
Mar 21 Javascript
浅析Angular2子模块以及异步加载
Apr 24 Javascript
js实现鼠标移动到图片产生遮罩效果
Oct 21 Javascript
React Native 混合开发多入口加载方式详解
Sep 23 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 Javascript
JS通用方法触发点击事件代码实例
Feb 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导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
php出现web系统多域名登录失败的解决方法
2014/09/30 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python 私有化操作实例分析
2019/11/21 Python
python 决策树算法的实现
2020/10/09 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
销售总监工作职责
2013/11/21 职场文书
优秀员工自荐书
2013/12/19 职场文书
办公室打字员岗位职责
2014/04/16 职场文书
质量保证书范本
2014/04/29 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书