JSFiddle - React, Tailwind, and code Playground
by Alejandro
HTML
<div class="leftArrow"><</div>
<input type="text" value="1" />
<div class="rightArrow">></div>
CSS
body {
padding: 10px;
}
div, input {
display: inline-block;
moz-border-radius: 3x;
webkit-border-radius: 3px;
border-radius: 3px;
}
div {
background-color: blue;
color: white;
font-weight: bold;
padding: 0.3em 0.5em;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
div:hover {
cursor: pointer;
}
input {
width: 30px;
font-size: 14px;
padding: 5px 2px;
text-align: center;
border: 1px solid gray;
}
.dim {
opacity: 0.2;
}
.dim:hover {
cursor: default;
}
JavaScript
// Set variables
var currentValue = parseInt($('input').val(), 10);
var minNum = 1;
var maxNum = 4;
// On page load, disable arrow if min or max is default value
if (currentValue == minNum) {
$('.leftArrow').addClass('dim');
}
if (currentValue == maxNum) {
$('.rightArrow').addClass('dim');
}
// Click events
$('.leftArrow').click(function() {
if (currentValue != minNum) {
currentValue--;
$('input').val(currentValue);
$('.rightArrow').removeClass('dim');
}
if (currentValue == minNum) {
$('.leftArrow').addClass('dim');
}
});
$('.rightArrow').click(function() {
if (currentValue != maxNum) {
currentValue++;
$('input').val(currentValue);
$('.leftArrow').removeClass('dim');
}
if (currentValue == maxNum) {
$('.rightArrow').addClass('dim');
}
});