指定されたパーセント値を介してそれ自体を更新する PHP プログレス バーをコーディングしていますが、パーセントを計算する際に問題が発生しています。
現在、私のコードは次のとおりです。
PHP
$percent = $_GET['percent'];
if($percent < 5)
//low-image.jpg
elseif($percent > 95)
//high-image.jpg
else{
$lowpercent = 100 - $percent;
$highwidth = 270 / 100 * $percent;
$lowwidth = 270 / 100 * $lowpercent;
HTML
<div class="first"></div>
<div class="mid-first" style="width:<?=$highwidth?>px;"></div>
<div class="mid-second" style="width:<?=$lowwidth?>px;"></div>
<div class="last"></div>
CSS
.first. mid-first, .mid-second, .last{
display:block;
float:left;
height:62px;
}
.first{
background:url(low.png);
width:31px;
}
.mid-first{
background:url(mid-first.png) repeat-x;
}
.mid-second{
background:url(mid-second.png);
}
.last{
background:url(high.png);
width:32px;
}
問題
パーセンテージが少し間違って計算されている現在、私の数学の頭脳は今日見当違いのようです...
4 つの div があり、最初と最後の div はそれぞれ 5% を占めるため、10% で、中間の div は残りの 90% と等しくなります。
これは、数字 50 が を介して渡される$_GET
と、5% の最初の棒を含まない中央の棒の 50% が計算されることを意味します。これは間違っています。最初の 5% を考慮してから 50% を計算する必要があります。ピクセル幅?
パーセントの背後にある計算を変更して 2 つの中央のバーを修正し、50% が適用されたときに両方の中央のバーがピクセル単位で等しくなるようにするにはどうすればよいですか?