为何通过JavaScript仅能修改CSS样式一次?点击按钮无法重复随机改字号
解决点击按钮随机改变字体大小仅首次生效的问题
你的代码问题出在随机数只生成了一次:randomNumber变量是在页面加载时就计算好的固定值,点击按钮时只是重复使用这个已经确定的数值,所以只有第一次点击能看到变化,后续点击字体大小不会再改变。
修正方法很简单,把随机数的生成逻辑移到点击事件的回调函数内部,这样每次点击按钮时都会重新生成新的随机数:
var oBox = document.querySelector('#box'); var b = document.querySelector('#button'); b.addEventListener('click', function () { // 每次点击都重新生成随机数 var randomNumber = ((Math.random() * 10) * 10).toString(); oBox.style.fontSize = randomNumber + 'px'; })
另外可以简化一下随机数的写法,Math.random() * 100和你原来的(Math.random()*10)*10效果完全一样,而且不需要转成字符串,JS会自动处理类型拼接:
var oBox = document.querySelector('#box'); var b = document.querySelector('#button'); b.addEventListener('click', function () { // 生成0到100之间的随机数值 var randomSize = Math.random() * 100; oBox.style.fontSize = randomSize + 'px'; })
内容的提问来源于stack exchange,提问作者dondondong
相关产品推荐
相关产品推荐

