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

JavaScript结合CSS答题进度条填充失效问题排查

答题页进度条故障截图

问题根因

你推测的「无法获取progressBarFull元素」不成立,script标签放在body尾部,DOM加载完成后才执行JS,元素获取正常,进度条不更新的核心原因有2个,附带1个视觉适配问题:

  • 进度条宽度赋值的模板字符串存在多余换行,生成的CSS宽度值带无效空白字符,浏览器无法解析
  • 题目结束判断条件写错变量,将题目计数器QuestionCounter误写为题目DOM元素question,会导致逻辑判断异常
  • CSS中进度条填充块高度写死为3.4rem,和父容器4rem高度减去0.6rem边框后的可用高度不匹配,会出现填充缝隙
修复方案

1. 修正game.js逻辑错误

找到getNewQuestion函数,做两处修改:

  1. 修正结束判断的变量错误:
// 原错误代码
if(AvailableQuestion.length == 0 || question>= MAX_QUESTIONS){

// 修改为
if(AvailableQuestion.length == 0 || QuestionCounter >= MAX_QUESTIONS){
  1. 修正进度条宽度赋值的换行问题,去掉模板字符串内的换行:
// 原错误代码
progressBarFull.style.width = `${(QuestionCounter / MAX_QUESTIONS) * 100}
%`

// 修改为
progressBarFull.style.width = `${(QuestionCounter / MAX_QUESTIONS) * 100}%`

2. 修正game.css进度条样式

修改#progressBarFull样式,让高度自适应父容器,避免填充缝隙:

#progressBarFull{
    height: 100%;
    background-color:#56a5eb;
    width: 0%;
    box-sizing: border-box;
}

修改完成后刷新页面,每完成一道题进度条会自动填充对应比例宽度,答完所有题目自动跳转至结束页。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:57:11