首页 > 解决方案 > 如何为按钮编写代码以生成随机背景颜色渐变

问题描述

我想添加一个在背景中生成随机线性渐变的按钮。当我单击一个按钮或另一个按钮时,下面的代码会生成线性渐变。

var color1 = document.querySelector(".color1");
var color2 = document.querySelector(".color2");
var gradient = document.querySelector("body");
var css=document.querySelector("h3");
var random = document.getElementById("random")

css.textContent = gradient.style.background  = "linear-gradient(to right," + color1.value + "," + color2.value +")"; 

function setBackground(){
    gradient.style.background = "linear-gradient(to right," + 
    color1.value + "," + color2.value +")";
    css.textContent = gradient.style.background + ";"

}
color1.addEventListener("input", setBackground);

color2.addEventListener("input", setBackground);


标签: javascriptbuttonrandomcolorslinear-gradients

解决方案


以下代码段应该可以实现您想要实现的目标。请随时询问是否有不清楚的地方。

const body = document.getElementsByTagName('BODY')[0];
const button = document.getElementsByTagName('BUTTON')[0];

function changeBackground(){
  body.style.background = `linear-gradient(to right,${getRandomHEXColor()},${getRandomHEXColor()})`;
}

function getRandomHEXColor() {
  const SEED = '0123456789abcdef';
  let output = '#';
  while (output.length < 7) {
    output += SEED[Math.floor(Math.random() * SEED.length)];
  }
  return output;
}

button.addEventListener("click", changeBackground);
<html>
  <body>
    <button>CHANGE BACKGROUD</button>
  </body>
</html>


推荐阅读