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 相关文章推荐
js实现网页随机切换背景图片的方法
Nov 01 Javascript
jquery手风琴特效插件
Feb 04 Javascript
元素绑定click点击事件方法
Jun 08 Javascript
JavaScript实现级联菜单的方法
Jun 29 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
javascript基础知识讲解
Jan 11 Javascript
javascript 判断用户有没有操作页面
Oct 17 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
浅谈vue父子组件怎么传值
Jul 21 Javascript
vue.js父子组件通信动态绑定的实例
Sep 28 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
Jan 16 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
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
JavaScript中的排序算法代码
2011/02/22 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
浅析Django中关于session的使用
2019/12/30 Python
python 从list中随机取值的方法
2020/11/16 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
linux面试题参考答案(8)
2015/08/11 面试题
投标单位介绍信
2014/01/09 职场文书
个人公开承诺书
2014/03/28 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
环保倡议书怎么写
2014/05/16 职场文书
学生违反校规检讨书
2014/10/28 职场文书
大学生支教感言
2015/08/01 职场文书
家长必看:义务教育,不得以面试 评测等名义选拔学生
2019/07/09 职场文书
nginx内存池源码解析
2021/11/20 Servers