javascript如何設置DIV背景色為隨機色

来源:http://www.cnblogs.com/-walker/archive/2016/06/18/5596306.html
-Advertisement-
Play Games

隨機色有兩種格式: 效果預覽:http://wjf444128852.github.io/DEMOLIST/JS/test/index.html 1、rgb(xxx,xxx,xxx) 2、#xxxxxx 下麵實現兩種隨機的方法 思路: 就是如何讓x都是隨機的, 1、中的xxx是0-255之間的隨機整 ...


隨機色有兩種格式:

效果預覽: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>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 以上是try...catch的語法; try語句嘗試執行一個語句塊,遇到錯誤則退出try語句塊而不是中斷aardio程式。如果使用了catch語句塊就可以捕獲異常(catch語句塊是可選的)。 以上是在aardio使用手冊中的一段話。 也許在使用try catch的過程中我們常常想出現錯誤的時候直接 ...
  • 1.自定義模板 在IAR系統中,edit->code templates 可以編輯與使用自定義模板 通過使用生成 H文件與C文件來生成各個功能模塊 2.模塊文件 #####################################################################... ...
  • 棧(stack)是一種線性存儲結構,有以下特點: 1.棧中數據是按照先進後出的方式進出棧的 2.向棧中添加刪除元素時,只能從棧頂進行操作 使用數組實現棧 定義一個類ArrayStack 實現入棧方法push() 實現出棧方法pop() 實現返回棧頂元素方法peek() ...
  • 隊列是一種線性存儲結構,他有以下特點: 1.隊列中數據是按照“先進先出”方式進出隊列的 2.隊列只允許在“隊首”進行刪除操作,在“隊尾”進行插入操作 3.隊列通常包含兩種操作:入隊列和出隊列 使用數組實現隊列 定義一個類ArrayQueue 實現入隊列方法push() 實現出隊列方法pop() 實現 ...
  • 本文是《緩存在分散式系統中的應用》第三篇文章。上次主要給大家分享了,緩存在分散式系統中的應用,主要從不同的場景,介紹了CDN,反向代理,分散式緩存,本地緩存的常規架構和基本原理。因為時間關於,原計劃分享《緩存常見問題》的內容,沒有講。本次主要針對緩存的常見個問題,做一個介紹。 ...
  • 先簡要概述一下video標簽: video:嵌入視頻到頁面中 1. 聲明video標簽 單個視頻的時候使用src: Your browser does not support the video element. 多個視頻的時候使用標簽: Your browser does not support ... ...
  • backbone的router和history對象就是對window.history對象的操作。 學習backbone的router和history之前必須要學習window.history對象。html5給開發者添加了操作history的api。 這裡需要瞭解兩個概念: hash:個人理解,has ...
  • 效果展示 http://hovertree.com/texiao/nav/4/手機掃描二維碼查看效果:源碼下載 http://hovertree.com/h/bjaf/kroft6c7.htm效果圖如下:代碼如下: <!doctype html> <html lang="zh"> <head> <m ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...