javascript - 如何使输入字段进度条全宽为父 div 的 100%?
问题描述
我的朋友帮助我完成了这个进度条。它工作得很好,只是进度条不是父 div 的全宽。每次输入后的新宽度是通过js在px中添加的。我是 javascript 新手,所以需要帮助。
这是小提琴 - https://jsfiddle.net/greysniper/fnkpu5gc/
我尝试将其转换为百分比,但尚未成功。初始宽度为 11px,而填充每个输入标签后的新宽度也以 px 为单位。
<div>
<span class='meter' style="display:inline-block;background:yellow;color:green;width:0;height:20px"></span>
<span class='perc'>0</span>%
</div>
<input class="track">
<input class="track">
<input class="track">
<input class="track">
<input class="track">
<input class="track">
<input class="track">
<input class="track">
<input class="dont-track" style="background-color: blue;">
<input class="track">
<input class="track">
<input class="track">
<input class="track">
<input class="dont-track" style="background-color: blue;">
<input class="track">
<input class="track">
<input class="track">
<input class="track">
<input class="track">
<input class="dont-track" style="background-color: blue;">
<input class="track">
<input class="track">
<select class="track">
<option value="">Choose One</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
$('.track').change(function(e) {
update_progress();
});
function update_progress() {
var count = $('.track').length;
var length = $('.track').filter(function() {
return this.value;
}).length;
var done = Math.floor(length * (100 / count));
$('.perc').text(done);
$('.meter').width(done);
}
解决方案
那是因为您使用的是像素而不是百分比而不是 25%,而是将宽度设置为 25px
推荐阅读
- java - 我的代码使用 Apache poi 3.12 版本运行,现在更改为 4.1.2 版本。如何在 CellUtil.setAlignment() 中设置 HSSFWorkbook 和 HSSFCell
- class - 在 Google Apps Script V8 类中声明私有变量
- chainer - 如何使用 Chainer 中的 Standard Updater 类大幅增加小批量的数量?
- python - ValueError:检查输入时出错:预期 conv1d_29_input 有 3 个维度,但得到了形状为 (150、1320) 的数组
- exoplayer2.x - Exoplayer 在处理(解码)之前是否完全下载了一个块
- java - 从列表中获取第一个后续 DayOfWeek
- c - 如何从c中的单个函数返回具有不同数据类型的多个值
- python - 如何在 SQLAlchemy 中使用数组结构
- android - 根据用户选择更改 EditText
- javascript - POST 请求未将文件上传到服务器