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 html()等方法介绍
Nov 18 Javascript
jquery绑定原理 简单解析与实现代码分享
Sep 06 Javascript
Jquery实现的tab效果可以指定默认显示第几页
Oct 16 Javascript
JS中操作JSON总结
Dec 06 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
动态更新highcharts数据的实现方法
May 28 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
Feb 25 Javascript
JS快速实现移动端拼图游戏
Sep 05 Javascript
Javascript 正则表达式校验数字的简单实例
Nov 02 Javascript
angularjs下拉框空白的解决办法
Jun 20 Javascript
VsCode新建VueJs项目的详细步骤
Sep 23 Javascript
vue - vue.config.js中devServer配置方式
Oct 30 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 批量生成html,txt文件的实现代码
2013/06/26 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
range 标准化之获取
2011/08/28 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
js读取cookie方法总结
2014/10/31 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
python生成随机密码或随机字符串的方法
2015/07/03 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
python编程培训 python培训靠谱吗
2018/01/17 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
《长相思》听课反思
2014/04/10 职场文书
建设投标担保书
2014/05/13 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
个人债务授权委托书
2014/10/17 职场文书
出纳试用期自我评价
2015/03/10 职场文书
一篇文章带你复习java知识点
2021/06/28 Java/Android
Python实现文字pdf转换图片pdf效果
2022/04/03 Python