Count, plus, minus \ Float - pure js
by tripcollor
HTML
<div class="wr">
<div>
<span id="bminus">–</span><input type="text" id="count" value="0.1 кг" /><span id="bplus">+</span>
</div>
</div>
CSS
.wr {
margin: 50px;
position: relative;
border: 2px solid #06c106;
padding: 5px 10px;
width: 130px;
overflow: hidden;
}
.wr input {
display: block;
padding: 8px;
width: 50px;
text-align: center;
border: 2px solid #c00;
outline: none;
float: left;
}
#bminus,
#bplus {
float: left;
display: block;
font-size: 26px;
padding: 5px 8px;
font-weight: bolder;
cursor: pointer;
color: #d00;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
JavaScript
var wrapper = document.querySelector('wr');
var countInput = document.getElementById('count');
var butM = document.getElementById('bminus');
var butP = document.getElementById('bplus');
var units = ' '+countInput.value.split(' ')[1];
var floatNum;
butP.onclick = function(){
floatNum = parseFloat(countInput.value) + 0.1;
floatNum = floatNum.toFixed(1);
countInput.value = floatNum+units;
};
butM.onclick = function(){
if(parseFloat(countInput.value) > .1) {
floatNum = parseFloat(countInput.value) - 0.1;
floatNum = floatNum.toFixed(1);
countInput.value = floatNum+units;
}
};