JavaScript应该不会改变我的颜色,也不会改变奇怪的日志。出现

时间:2017-05-15 16:11:49

标签: javascript dom

所以我想编写一个简单的项目。单击一个按钮时,程序会生成1到50之间的随机数,然后将其打印在我的DIV中。 我想要一个小功能,如果数字恰好为18,背景颜色会变为红色。

所以我尝试过多次这样做,但背景随意变化。没有订单或任何。

我已经尝试记录这些数字,看它们在变为红色时是否有任何联系,但没有运气。

但是,在控制台中,会出现一点灰色2。也是随机的。

function getRandomNumber(){
    var randomNumber = Math.floor(Math.random()*50) + 1;
    return randomNumber;
}
myButton.addEventListener('click', ()=>{
    para.innerHTML = getRandomNumber();
    console.log(getRandomNumber());
    if(getRandomNumber() === 18){
        para.style.backgroundColor = "red";
    }
});

3 个答案:

答案 0 :(得分:1)

每次拨打getRandomNumber()时,都会生成一个新号码。调用一次,将其保存到变量中,一切都应该按预期工作。

function getRandomNumber() {
  var randomNumber = Math.floor(Math.random() * 50) + 1;
  return randomNumber;
}
myButton.addEventListener('click', () => {
  let number = getRandomNumber();
  para.innerHTML = number;
  console.log(number);
  if (number === 18) {
    para.style.backgroundColor = "red";
  }
});

答案 1 :(得分:1)

getRandomNumber()的返回值设置为变量。在backgroundColor"red"或空字符串"unset"之间切换""



function getRandomNumber(){
  var randomNumber = Math.floor(Math.random()* 4) + 1;
  return randomNumber;
}

var para = document.querySelector("p");
var myButton = document.querySelector("button");

myButton.addEventListener("click", () => {
 const rand = getRandomNumber();
 para.innerHTML = rand;
 para.style.backgroundColor = rand === 1 ? "red" : "unset";
});

<button>click</button>
<p></p>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

  1. 您的问题是您要拨打select o.CustomerID, (max(o.OrderDate) - min(o.ShippedDate)) as 'Ship Time' from Orders o group by o.CustomerID 两次,这会得到两个不同的随机数。将随机数保存到变量getRandomNumber,然后使用此变量设置para的innerHTML,并检查它是否十八,以查看背景是否应该更改。

  2. 灰色数字2表示连续两次打印相同的数字。