js 点击生成随机颜色

这篇博客介绍了如何用JavaScript实现一个功能,当点击一个div元素时,该元素的背景色会随机改变。通过定义`addBgcColor`函数和`randomColor`函数,实现了点击事件和生成RGB随机颜色的逻辑。示例代码中,`this`关键字用于传递当前被点击的元素,从而改变其背景颜色。

这是效果图,点击之后生成随机颜色:

目录

点击后变颜色,

代码详情:

总结:主要运用         

然后:             function addBgcColor(形参名字:tag){                 //js操作样式                 tag.style.backgroundColor=randomColor();             }


代码详情:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            #wrapper{
                width: 200px;
                height: 200px;
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <!-- this:实参,当前标签 -->
        <div id="wrapper" οnclick="addBgcColor(this)"></div>
        <script>
            /* 
              小驼峰命名:第一个单词首字母小写,其余单词首字母大写
              大驼峰命名:所有单词首字母大写 
            */
            var _wrapper=document.getElementById('wrapper');
            //添加背景颜色
             function addBgcColor(tag){
                 //js操作样式
                 tag.style.backgroundColor=randomColor();
             }
            
            //返回随机的rgb
            function randomColor(){
                var a=Math.floor(Math.random()*256);
                var b=Math.floor(Math.random()*256);
                var c=Math.floor(Math.random()*256);
                return `rgb(${a},${b},${c})`
            }
        </script>
    </body>
</html> 

总结:主要运用 <!-- this:实参,当前标签 -->
        <div id="wrapper" οnclick="addBgcColor(this)"></div>

然后:
             function addBgcColor(形参名字:tag){
                 //js操作样式
                 tag.style.backgroundColor=randomColor();
             }


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			#wrapper{
				width: 200px;
				height: 200px;
				border: 1px solid black;
			}
		</style>
	</head>
	<body>
		<!-- this:实参,当前标签 -->
		<div id="wrapper" onclick="addBgcColor(this)"></div>
		<script>
			/* 
			  小驼峰命名:第一个单词首字母小写,其余单词首字母大写
			  大驼峰命名:所有单词首字母大写 
			*/
			var _wrapper=document.getElementById('wrapper');
			//添加背景颜色
		     function addBgcColor(tag){
				 //js操作样式
				 tag.style.backgroundColor=randomColor();
			 }
			
			//返回随机的rgb
			function randomColor(){
				var a=Math.floor(Math.random()*256);
				var b=Math.floor(Math.random()*256);
				var c=Math.floor(Math.random()*256);
				return `rgb(${a},${b},${c})`
			}
		</script>
	</body>
</html>

代码详情:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            #wrapper{
                width: 200px;
                height: 200px;
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <!-- this:实参,当前标签 -->
        <div id="wrapper" οnclick="addBgcColor(this)"></div>
        <script>
            /* 
              小驼峰命名:第一个单词首字母小写,其余单词首字母大写
              大驼峰命名:所有单词首字母大写 
            */
            var _wrapper=document.getElementById('wrapper');
            //添加背景颜色
             function addBgcColor(tag){
                 //js操作样式
                 tag.style.backgroundColor=randomColor();
             }
            
            //返回随机的rgb
            function randomColor(){
                var a=Math.floor(Math.random()*256);
                var b=Math.floor(Math.random()*256);
                var c=Math.floor(Math.random()*256);
                return `rgb(${a},${b},${c})`
            }
        </script>
    </body>
</html> 


总结:主要运用 <!-- this:实参,当前标签 -->
        <div id="wrapper" οnclick="addBgcColor(this)"></div>

然后:
             function addBgcColor(形参名字:tag){
                 //js操作样式
                 tag.style.backgroundColor=randomColor();
             }

JavaScript 中,有多种方法可以生成随机颜色,以下是几种常见的实现方式: ### 生成十六进制颜色代码 ```javascript function getRandomColor() { let color = "#"; for (let i = 0; i < 6; i++) { color += "0123456789abcdef"[Math.floor(Math.random() * 16)]; } return color; } // 使用示例 document.getElementById("myElement").style.color = getRandomColor(); ``` 这种方法通过循环 6 次,每次从十六进制字符 `0123456789abcdef` 中随机选取一个字符,并将其添加到 `#` 后面,最终形成一个完整的十六进制颜色代码,如 `#7F5A83` [^1]。 ### 生成 RGB 颜色值 ```javascript function randomColor() { var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); var color = 'rgb(' + r + ',' + g + ',' + b + ')'; console.log(color); return color; } ``` 此方法生成三个 0 到 255 之间的随机整数,分别作为 RGB 颜色值的红、绿、蓝分量,然后组合成 `rgb(r, g, b)` 格式的字符串 [^2]。 ### 另一种生成十六进制颜色代码的递归方法 ```javascript function color(color) { return (color += "0123456789abcdef"[Math.floor(Math.random() * 16)]) && (color.length == 6 ? color : arguments.callee(color)); } // 用法1:全部随机生成 let fullRandomColor = "#" + color(""); // 用法2:指定前面字母 let partialRandomColor = "#" + color("a2"); ``` 该方法使用递归的方式,每次从十六进制字符中随机选取一个字符添加到传入的字符串中,直到字符串长度达到 6 位 [^3]。 ### 使用模板字符串生成 RGB 颜色值 ```javascript let colorStr = `rgb(${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)}, ${Math.floor(Math.random() * 256)})`; ``` 这种方式利用模板字符串的特性,直接将随机生成的 RGB 分量插入到字符串中,简洁地生成 RGB 颜色值 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值