You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当整数变量i达到100时调整div大小的问题

解决变量i达到100时无法调整div大小的问题

我瞅了下你的代码,大概率是这几个小问题导致的,咱们一个个来捋:

1. 变量i的作用域没搞对

如果i是在按键事件的处理函数里面声明的,那每次按上键都会把i重置成初始值,永远攒不到100。你得把i放在函数外面,让它能保留住累加的状态,比如:

// 把i放在事件函数外面,确保每次按键都能累加
let i = 0;

document.addEventListener('keydown', function(event) {
  switch (event.keyCode) {
    case 38:
      i++;
      const scoreEl = document.getElementById('score');
      scoreEl.innerHTML = i;
      // 这里的逻辑没问题,i>99时会触发宽度调整
      if (i > 99) {
        scoreEl.style.width = '700px';
      } else {
        scoreEl.style.width = '500px';
      }
      break;
  }
});

2. 先确认i真的到100了

有时候咱们以为变量到了目标值,实际可能因为其他代码偷偷改了i。可以加个调试日志,看看每次按键后i的真实值:

i++;
console.log('当前i的值:', i); // 加这句,控制台能看到实时数值
const scoreEl = document.getElementById('score');
// ... 剩下的代码不变

3. 检查CSS优先级冲突

如果你的#score元素在样式表里已经写了width,还加了!important,那行内的style.width会被覆盖。这时候可以改用setProperty强制设置优先级:

scoreEl.style.setProperty('width', '700px', 'important');

4. 确保元素能被正确获取

如果#score是动态生成的(比如通过JS加载的),那页面初始化时可能还找不到这个元素,导致后续操作失效。可以把事件绑定放在元素加载完成后,或者用事件委托的方式。

先从作用域问题查起,这是最常见的原因。要是还不行,看控制台的日志信息,基本就能定位到问题啦。

内容的提问来源于stack exchange,提问作者trill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:35:02