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 相关文章推荐
ExtJs 表单提交登陆实现代码
Aug 19 Javascript
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
AJAX跨域请求json数据的实现方法
Nov 11 Javascript
js的Boolean对象初始值示例
Mar 04 Javascript
JS中FRAME的操作问题实例分析
Oct 21 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
Sep 14 Javascript
vue组件间通信子与父详解(二)
Nov 07 Javascript
微信小程序之自定义组件的实现代码(附源码)
Aug 02 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
Sep 03 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
Sep 11 Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
Sep 21 Javascript
使用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批量生成缩略图的代码
2008/07/19 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
初识ThinkPHP控制器
2016/04/07 PHP
jquery蒙版控件实现代码
2010/12/08 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
限制复选框最多选择项的实现代码
2016/05/30 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
带你了解python装饰器
2017/06/15 Python
利用aardio给python编写图形界面
2017/08/21 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
软件工程师面试题
2012/06/25 面试题
Java如何支持I18N?
2016/10/31 面试题
教师考核评语
2014/04/28 职场文书
学生党员公开承诺书
2014/05/28 职场文书
会议欢迎标语
2014/06/30 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
vue实现登陆页面开发实践
2022/05/30 Vue.js