<wrapper>
<div class="item">
<p>Выберите число исполнителей</p>
<div class="proggress"></div>
<div class="item_wrapper">
<span id="minus">-</span>
<span id="number">1</span>
<span id="plus">+</span>
</div>
</div>
</wrapper>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
wrapper {
display: block;
padding: 10px;
}
.item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 6px 4px;
position: relative;
overflow: hidden;
mix-blend-mode: overlay;
box-shadow: 0 0 5px #000;
}
.item p {
position: relative;
z-index: 10;
font-size: 20px;
}
.item_wrapper {
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 5px #000;
overflow: hidden;
position: relative;
z-index: 10;
height: 30px;
}
.item_wrapper span {
padding: 8px;
font-size: 20px;
background: #fff;
}
#number {
display: inline-block;
border-left: 1px solid #000;
border-right: 1px solid #000;
width: 40px;
text-align: center;
}
.item,
.item_wrapper {
border-radius: 6px;
}
#minus,
#plus {
cursor: pointer;
user-select: none;
}
#number {
user-select: none;
}
.proggress {
position: absolute;
top: 0;
left: 0;
width: 10%;
height: 100%;
background: lightblue;
}
let num = document.getElementById("number");
let proggress = document.querySelector(".proggress");
minus.onclick = _minus;
plus.onclick = _plus;
function _plus() {
num.innerHTML = Number(num.innerHTML) + 1;
proggress.style.width = Number(num.innerHTML) * 10 + "%";
if (num.innerHTML > 10) {
num.innerHTML = 10;
}
}
function _minus() {
num.innerHTML = num.innerHTML - 1;
proggress.style.width = num.innerHTML * 10 + "%";
if (num.innerHTML < 0) {
num.innerHTML = 0;
}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.