Reputation: 609
I want to get a certain result between two numbers. I made this:
var number = $("#number").val();
if(number>=1 && number<=5){
alert('2 points!');
} else if(number>=6 && number<=10){
alert('3 points!');
} else if(number>=11 && number<=15){
alert('4 points!');
} else if(number>=16 && number<=20){
alert('5 points!');
}
...and continues...
I want a way to do this shorter, I would like some help.
Upvotes: 2
Views: 398
Reputation: 414
If every range is equal, then you need this:
var number = $("#number").val();
var range = 5;
var points = Math.ceil(number / range) + 1;
alert(points + ' points!');
Upvotes: 2
Reputation: 2642
function getPoints(n) {
if (!n || n < 1) return '';
return Math.floor((n - 1) / 5) + 2 + " points!";
}
document.getElementById('a').addEventListener('keyup', function() {
document.getElementById('b').innerText = getPoints(parseInt(this.value));
});
<input id="a" type="number" />
<span id="b"></span>
Upvotes: 1