javascript - JavaScript - 基于值的 CSS 宽度
问题描述
我用两个酒吧设置了一些小东西:
<div class="bars">
<div class="bar bar-1" value="15"></div>
<div class="bar bar-2" value="7.5"></div>
</div>
我希望最大的条(按值)始终保持 100% 的宽度,并且较小的条相应地缩放。在此示例中,bar-2 将是 bar-1 大小的一半。
解决方案
这是一个使用您的代码的非常简单且“快速而肮脏”的解决方案 - 因为您没有提供更多信息
https://jsfiddle.net/b53pzfdj/
// get all bars
var bars = document.getElementsByClassName('bar')
// determine the highest value
var longest = 0;
for (var bar of bars) {
if (parseInt(bar.getAttribute('value')) > longest) {
longest = parseInt(bar.getAttribute('value'));
}
}
// set width relative to the highest value for each bar
for (var bar of bars) {
bar.style.width = `${parseInt(bar.getAttribute('value')) / longest * 100}%`;
}
推荐阅读
- node.js - 如何使用 express 取消设置内容类型标头
- python - 熊猫切割,如何标记正确的开放端点?
- python - Scrapy - 达到最大重定向时生成 URL [301]
- php - Laravel 不使用 CSS Admin LTE 查看页面
- c# - 从 1 个 .net 标准库创建 2 个 NuGet 包
- javascript - 状态更改不会触发 componentDidMount()
- python - Django model.delete() 重新设置主键
- django - 在 Django 中运行 Dash 时找不到 dash_bootstrap_components.min.js
- export - 容器中的 Polybase SQL Server 2019 到 SQL Server 2019 OnPremise - 插入外部表不起作用
- javascript - VUE JS this.$emit('addEmoji', emoji.value) 不会触发