javascript实现随机生成DIV背景色


Posted in Javascript onJune 20, 2016

随机色有两种格式:
效果预览:http://wjf444128852.github.io/DEMOLIST/JS/test/index.html
 1、rgb(xxx,xxx,xxx)
 2、#xxxxxx
 下面实现两种随机的方法
 思路:如何让x都是随机的,
 1、中的xxx是0-255之间的随机整数,用Math.random()*255取得0-255之间的随机数,
 再Math.floor()保留小数点前面的
 2、中的x是0123456789abxdef中的随机6个的组合,
 这里可以用数组或者字符串处理,这里采用数组,只要从数组里取6次,每次取得数组下标是0-16之间的随机整数即可。
 注意(法二中虽然改变的是#XXXX,此时浏览器查看DOM元素的background-color属性值还是rgb格式的,但是JS中赋值是#xxx格式。)
 代码如下:
 HTML

<body>
  <div class="main">
    <p><a href="javascript:;" id="btn-one">RandomColor-rgb</a></p>
    <ul>
      <li><div class="bg_color"></div></li>
      <li><div class="bg_color"></div></li>
      <li><div class="bg_color"></div></li>
      <li><div class="bg_color"></div></li>
    </ul>
  </div>
  <div class="main">
    <p><a href="javascript:;" id="btn-two">RandomColor-#XXXXXX</a></p>
    <ul>
      <li><div class="bg_two"></div></li>
      <li><div class="bg_two"></div></li>
      <li><div class="bg_two"></div></li>
      <li><div class="bg_two"></div></li>
    </ul>
  </div>
</body>

CSS 

*{
      box-sizing: border-box;
      list-style: none;
      border: none;
      padding: 0;
      margin: 0;
    }
    p{
      text-align: center;
      margin: 20px;
    }
    p a{
      font-size: 20px;
      font-weight: 300;
      color: #e4393c;
      text-decoration: none;
      padding: 6px 10px;
      border: 1px solid currentColor;
    }
    .bg_color,.bg_two{
      width: 100px;
      height: 100px;
      border: 1px solid #aa00aa;
    }
    .main,.main ul{
      overflow: hidden;
    }
    .main{
      width: 400px;
      margin:30px auto;
    }
    .main ul li{
      float: left;
    }

JS

<script>
  (function(){
    //1、随机色的函数-rgb
    function getRandomColor(){
      var rgb='rgb('+Math.floor(Math.random()*255)+','   

      +Math.floor(Math.random()*255)+','  

      +Math.floor(Math.random()*255)+')';
      console.log(rgb);
      return rgb;
    }
//  获取按钮
    var btn_one=document.querySelector("#btn-one");
    var Divs=document.querySelectorAll(".bg_color");
    btn_one.onclick=function(){
      for(var i=0;i<Divs.length;i++){
        Divs[i].style.backgroundColor=getRandomColor();
      }
    };
    //2、随机颜色#XXXXXX
    var btn_two=document.querySelector("#btn-two");
    var divsTwo=document.querySelectorAll(".bg_two");
    var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
    function generateMixed(n) {
      var res = "#";
      var id;
      for(var i = 0; i < n ; i ++) {
        id= Math.floor(Math.random()*16);
        res += chars[id];
      }
      console.log(id,res);
      return res;
    }
    btn_two.onclick=function(){
      for(var i=0;i<divsTwo.length;i++){
        divsTwo[i].style.backgroundColor=generateMixed(6);
      }
    };
  })()
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript窗口功能指南之在窗口中书写内容
Jul 21 Javascript
jQuery select的操作实现代码
May 06 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
tangram框架响应式加载图片方法
Nov 21 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 Javascript
JavaScript中创建字典对象(dictionary)实例
Mar 31 Javascript
js仿微信抢红包功能
Sep 25 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
Oct 30 Javascript
移动前端图片压缩上传的实例
Dec 06 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
Feb 17 Javascript
three.js 制作动态二维码的示例代码
Jul 31 Javascript
vue动态设置路由权限的主要思路
Jan 13 Vue.js
使用jQuery Rotare实现微信大转盘抽奖功能
Jun 20 #Javascript
JS实现弹出居中的模式窗口示例
Jun 20 #Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
Jun 20 #Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
Jun 20 #Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 #Javascript
JS控制层作圆周运动的方法
Jun 20 #Javascript
简单实现jQuery进度条轮播实例代码
Jun 20 #Javascript
You might like
php下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP连接SQLServer2005的方法
2015/01/27 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
原生JS发送异步数据请求
2017/06/08 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
Python中用于返回绝对值的abs()方法
2015/05/14 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
python日期相关操作实例小结
2019/06/24 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
python实现一个猜拳游戏
2020/04/05 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
浅析图片上传及canvas压缩的流程
2020/06/10 HTML / CSS
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
心得体会怎么写
2013/12/30 职场文书
24岁生日感言
2014/01/13 职场文书
html+css 实现简易导航栏功能
2021/04/07 HTML / CSS
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python