如何用按钮生成不同的颜色

2024-05-12

我是初学者,想知道如何使用生成按钮生成所有不同的颜色?我应该向按钮 addEventListener 的第二个参数添加什么?

另外,如何让它在刷新时自动生成颜色而不是不生成颜色?

var getcolors = document.querySelectorAll(".palette").forEach(function(btn) {
  btn.addEventListener("click", function() {
    var n = Math.random();
    n = n * 256;
    n = Math.floor(n);
    var a = Math.random();
    a = a * 256;
    a = Math.floor(a);
    var b = Math.random();
    b = b * 256;
    b = Math.floor(b);
    var color = "rgb(" + n + "," + a + "," + b + ")";
    btn.style.backgroundColor = color;
  });
});

document.getElementById("generate").addEventListener("click", function() {});
body {
  text-align: center;
  background-color: black;
}

.palette {
  outline: none;
  border: 10px solid #404b69;
  font-size: 5rem;
  line-height: 1;
  font-weight: 900;
  color: #da0463;
  text-shadow: 3px 0 #dbedf3;
  border-radius: 15px;
  display: inline-block;
  width: 110px;
  height: 110px;
  text-align: center;
  margin: 5px;
  background-color: white;
}
<h1 id="title">Color Palette</h1>
<div class="set">
  <button id="a" class="a palette">a</button>
  <button id="b" class="b palette">b</button>
  <button id="c" class="c palette">c</button>
  <button id="d" class="d palette">d</button>
</div>

<div>
  <button id="generate">generate</button>

</div>

如果我们将颜色代码添加到函数中,我们可以调用它setColors,我们可以在页面渲染上调用该函数,当按下按钮时,如下所示:

function setColors() {
    // Color code
}

// Run on start
setColors()

// Run on button click
document.getElementById("generate").addEventListener("click", setColors);

Snippet:

function setColors() {
  document.querySelectorAll(".palette").forEach(function (btn) {
    var n = Math.random();
    n = n * 256;
    n = Math.floor(n);
    var a = Math.random();
    a = a * 256;
    a = Math.floor(a);
    var b = Math.random();
    b = b * 256;
    b = Math.floor(b);
    var color = "rgb(" + n + "," + a + "," + b + ")";
    btn.style.backgroundColor = color;
  });
}

// Run on start
setColors()

// Run on button click
document.getElementById("generate").addEventListener("click", setColors);
body {
  text-align: center;
  background-color: black;
}

.palette {
  outline: none;
  border: 10px solid #404b69;
  font-size: 5rem;
  line-height: 2;
  font-weight: 900;
  color: #da0463;
  text-shadow: 3px 0 #dbedf3;
  border-radius: 15px;
  display: inline-block;
  width: 150px;
  height: 150px;
  text-align: center;
  margin: 10px;
  background-color: white;
}
<h1 id="title">Color Palette</h1>
<div class="set">
  <button id="a" class="a palette">a</button>
  <button id="b" class="b palette">b</button>
  <button id="c" class="c palette">c</button>
  <button id="d" class="d palette">d</button>
</div>

<div>
  <button id="generate">generate</button>

</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用按钮生成不同的颜色 的相关文章

  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • Iframe 相对路径挑战

    我有一个页面 在页面内有一个 Iframe 目录如下 Folder1 Folder2 IframeCSS IframeCSS Css iframePage1 html stuff css parentPage1 html 在 iframeP
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • 现在 CSS3 供应商前缀有多必要? [复制]

    这个问题在这里已经有答案了 我只是想知道现在在 CSS 中指定 webkit moz ms 或 o 等供应商前缀在多大程度上仍然有必要 如果我理解正确的话 opera 切换到了 webkit 所以会删除 o 对吗 IE 在 IE10 中不再
  • Angular 2+ 安全性;保护服务器上的延迟加载模块

    我有一个 Angular 2 应用程序 用户可以在其中输入个人数据 该数据在应用程序的另一部分进行分析 该部分仅适用于具有特定权限的人员 问题是我们不想让未经授权的人知道how我们正在分析这些数据 因此 如果他们能够在应用程序中查看模板 那
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • 避免响应式页面的重复内容

    我目前正在做一个涉及响应式设计的项目 整个布局应该使用HTML和CSS来实现 我知道可以使用 java 脚本将内容从一个列布局移动到另一列布局 而无需复制内容 但是使用 HTML 和 CSS 是否可以实现相同的效果 以下面的例子为例 它会在
  • 如何在没有@import的情况下减少@import?

    我用的较少 从 Google PageSpeed 我了解到 使用 importCSS 文件中的内容会影响网站速度 所以我想排除任何 import来自我的 CSS 的东西 我有 2 个不同的样式表reset css and rebuild c
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • 更改文本输入标签中文本的大小?

    我有一个很大的文本输入框 但我无法更改字体大小
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • Schema.org 的常见问题解答页面

    我有一个常见问题解答页面 我想用更好的 html 架构来实现它
  • 如何从图像输入中获取 xy 坐标?

    我有一个输入设置为图像类型

随机推荐

  • 如何通过编码来点击按钮?

    我的程序中有两个按钮 我希望当我按下第一个按钮时 会自动单击第二个按钮 在第一个按钮的事件处理程序中 我想通过编码按下第二个按钮 private void button1 Click object sender EventArgs e pa
  • Android x86_64 和 x86 模拟器在 AlertDialog.onClick 事件上崩溃

    我正在 x86 64 和 x86 模拟器中测试 Android 应用程序 在从显示列表的 AlertDialog 中选择一个项目后 它崩溃了 Android 模拟器意外关闭 AlertDialog 是从 AppCompatActivity
  • 异步protobuf序列化

    protobuf net 实现的一个限制是它同步调用底层流 通过不提供异步 API 例如BeginSerialize EndSerialize 或 TPL 等效项 我们被迫占用一个等待同步流 I O 的线程 是否有计划在 protobuf
  • 我无法在剃刀视图中设置断点

    我知道可以在 MVC Razor 视图中设置断点 但出了点问题 它不再工作了 我尝试重新启动 Visual Studio 2013 并更改调试的一些选项 你有什么建议吗 感谢弗拉基米尔 我能找到解决方案 我必须清理并重建整个解决方案 我之前
  • 如何在azure上托管和部署ASP.Net core 2.0 web api?

    我在 Visual Studio 2017 中创建了一个解决方案 其中创建了以下项目 客户端 使用核心 2 1 的 Angular 模板 服务器 使用 core 2 0 的 web api 因为我是在天蓝色上部署我的应用程序的新手 因此 通
  • Magento 一页结帐 - 出现 TypeError: checkout undefined (在 opcheckout.js 中)

    大约一周前 一页结帐工作正常 但现在不行了 毫无疑问我有错 因为我仍然遇到与管理后端相关的问题 并且我可能在处理该问题的过程中以某种方式搞砸了 无论如何 当 登录 注册 用户单击一页结账的帐单信息步骤中的 继续 按钮时 会发生什么情况 就好
  • 用于大括号突出显示的背景和前景色

    当前的功能只是勾勒出很难看到的匹配支架的轮廓 我如何更改前景色和背景色 以便匹配的大括号出现在实心块上 阿普塔纳工作室 3 这是 Aptana 从 Eclipse 继承的东西 它被硬编码为在匹配对字符周围绘制一个矩形 因此 不幸的是 这不是
  • 快速求解子集和

    考虑这种解决子集和问题的方法 def subset summing to zero activities subsets 0 for activity cost in activities iteritems old subsets sub
  • CC2538 的 Contiki UDP 数据包传输持续时间

    有人可以解释一下 Contiki OS 传输 UDP 数据包时发生了什么吗 以下是我的设备使用 CC2538 芯片运行时的详细电流消耗 我的问题是 既然理论上在 250kbps 下 408 位长度的数据包应该在大约 2ms 内传输 为什么要
  • 以 png 格式剪辑幻灯片 (Delphi 2010)

    I have a filmstrip of images in png format like this 我想知道如何剪辑每个图像并将这些图像放入 TImageList 控件中 并始终保留透明度 EDIT 是的 在设计时 RRUZ 提到的技
  • ActiveSupport::TimeWithZone#to_date 返回错误日期

    我想要以下实例的日期部分ActiveSupport TimeWithZone 我用了to date函数 但它返回前一天的日期 例如 如果日期时间是2012 04 11 09 05 00 UTC 如果我打电话to date然后它返回2012
  • 为什么 pyglet 比 pygame 慢?

    这是代码 5000 个弹跳旋转的红色方块 16x16 png 在 pygame 版本上 我得到 30 fps 但使用 pyglet 得到 10 fps 对于这种事情 OpenGl 不是应该更快吗 pygame版本 import pygame
  • SVG 捕获鼠标坐标

    我知道之前已经有人问过有关 svg 鼠标坐标的问题 但我对我当前遇到的行为感到非常困惑 而且似乎没有一个线程能够解决它 我用于捕获坐标的方法 var pt svg createSVGPoint Created once for docume
  • 如果是 PrintWriter,为什么我应该在循环中刷新而不是在循环之后刷新?

    我的小演示程序中有一个服务器和客户端 我将一些字符串数据从客户端发送到服务器 然后为客户端重新发送这些数据 客户端也将其写入控制台 我对 PrtintWriter 的刷新方法感到困惑 根据 JAVA 文档 该方法刷新流 经过一些研究 我逐渐
  • 如何对 WebAPI 进行无人值守的 oauth/openid 身份验证?

    想象一下在 Windows Azure 中注册的客户端和服务应用程序 客户端是一个控制台 在无人值守的情况下运行 例如过夜执行测试 该服务是受 oAuth 保护的 WebAPI 服务 通常使用托管在 Azure 中的 OpenID Conn
  • 从单个 Maven 项目创建多个可运行的 Jars(包含依赖项)[重复]

    这个问题在这里已经有答案了 我有一个 Maven 项目 它有多个主类 我想从这些项目中生成可运行的 Jars 包括所有依赖项 我目前有以下构建配置 使用 maven assemble
  • 如何从 Visual Studio 中的网站项目中删除项目引用?

    那么 如果我的网站项目 Foo 引用了类库项目 Bar 我该如何删除该引用 该引用存储在 Visual Studio 解决方案文件中 在解决方案资源管理器中右键单击网站的项目项 然后选择 属性页 出现的对话框中的第一项是 参考 您可以从此处
  • 如何使用 Python 创建新的文本文件

    我正在练习用 python 管理 txt 文件 我一直在阅读有关它的内容 发现如果我尝试打开一个尚不存在的文件 它将在执行程序的同一目录中创建该文件 问题来了 当我尝试打开它时 出现以下错误 IOError Errno 2 没有这样的文件或
  • xib(Xcode8) 上 UIView/UIImageView 的大小变为 (1000, 1000)

    我在 xib 上使用自动布局来创建我的 UI 当我完成我的用户界面时 它在模拟器上运行良好 但是当我下次打开 Xcode8 时 xib 显示很奇怪 一些 UIView 和 UIImageView 变大 大小变为 1000 1000 即便如此
  • 如何用按钮生成不同的颜色

    我是初学者 想知道如何使用生成按钮生成所有不同的颜色 我应该向按钮 addEventListener 的第二个参数添加什么 另外 如何让它在刷新时自动生成颜色而不是不生成颜色 var getcolors document querySele