我希望用户在每次点击按钮时更改标题的字体样式。现在它只能工作一次。有人可以请帮助。我是否使用while循环?如果别的?对不起,这里需要一些帮助。 提前谢谢。
const text = document.querySelector('h1');
const randomFontButton = document.getElementById('randomFontButton');
randomFontButton.addEventListener('click', () => {
let fontType = [ "Arial", "Verdana", "Helvetica","Times New Roman",
"Times", "serif"];
let rand = fontType[Math.floor(Math.random()*fontType.length)];
text.style.fontFamily = fontType[rand];
});
答案 0 :(得分:0)
您不需要while循环或if语句。除了你错误地设置字体外,你的代码基本没问题。
更改行:
text.style.fontFamily = fontType[rand];
要:
text.style.fontFamily = rand;
您已经使用'rand'约束选择了新字体。 fontType [rand]未定义。
const text = document.querySelector('h1');
const randomFontButton = document.getElementById('randomFontButton');
randomFontButton.addEventListener('click', () => {
const fontType = [ "Arial", "Verdana", "Helvetica","Times New Roman",
"Times", "serif"];
const rand = fontType[Math.floor(Math.random()*fontType.length)];
text.style.fontFamily = rand;
});
答案 1 :(得分:0)
请改为尝试:
const text = document.querySelector('h1');
const randomFontButton = document.getElementById('randomFontButton');
randomFontButton.addEventListener('click', () => {
let fontType = ["Arial", "Verdana", "Helvetica", "Times New Roman",
"Times", "serif"];
var idx = Math.floor(Math.random() * fontType.length);
text.style.fontFamily = fontType[idx];
});