我剛剛使用CSS創建了一個簡單的水平條形圖,因爲我只需要3個小節。該圖顯示3個分數 - 前兩個是動態的,最後一個是靜態的。動態更新CSS條形圖的寬度
我的問題是,我不能找出一種有效的方法來改變基於它們的值的酒吧的寬度。對於每種情況,我的IF語句太多(即,如果分數A大於分數B,但分數A小於分數C等)。我怎樣才能簡化這個?
我的代碼示例可以看到here。注意:如果條形圖看起來不正確,那是因爲這些類型的分數沒有條件。請再次運行代碼,直到所有條形都看起來水平。
HTML:
<div class="graph">
<span id="score-a">Score A: </span>
<span id="score-b">Score B: </span>
<span id="score-c">Score C: 5</span>
</div>
JS:
var randomNumberA = Math.floor(Math.random() * (10 - 1 + 1)) + 1;
var randomNumberB = Math.floor(Math.random() * (10 - 1 + 1)) + 1;
var staticScore = 5;
document.getElementById('score-a').innerHTML = "Score A: " + randomNumberA;
document.getElementById('score-b').innerHTML = "Score B: " + randomNumberB;
if (randomNumberA > randomNumberB && randomNumberA > staticScore) {
$('#score-a').css({
'width': "auto",
'min-width': '100px'
});
$('#score-b').css({
'width': "auto",
'min-width': '122px'
});
$('#score-c').css({
'width': "auto",
'min-width': '112px'
});
}
if (randomNumberA < randomNumberB && randomNumberA > staticScore) {
$('#score-a').css({
'width': "auto",
'min-width': '100px'
});
$('#score-b').css({
'width': "auto",
'min-width': '122px'
});
$('#score-c').css({
'width': "auto",
'min-width': '112px'
});
}
我不確定這是你想要的:https://jsfiddle.net/uu9m1s3s/1/ 爲什麼你需要'if'語句? – batmaniac7
@maddog是的,工作......謝謝你,但爲什麼'vw'單位? – mapr
很酷。 'vw'是視口寬度。 – batmaniac7