The Code for OddlyCount


                        
//get the values from the page
//starts or controller function
function getValues() {
    //get values from the page
    let startValue = document.getElementById("startValue").value;
    let endValue = document.getElementById("endValue").value;
    //We need to validate our input
    //parse into Integers

    startValue = parseInt(startValue);
    endValue = parseInt(endValue);

    if (Number.isInteger(startValue) && Number.isInteger(endValue)) {

        //we call generateNumbers
        let numbers = generateNumbers(startValue, endValue);

        //we call displayNumbers
        displayNumbers(numbers);

    } else {
        alert("You must enter Integers");
    }



}

//generate numbers from starValue to endValue
//logic function(s)
function generateNumbers(sValue, eValue) {

    let numbers = [];
    //we want to get all numbers from start to end
    for (let index = sValue; index <= eValue; index++) {

        //This will execute in a loop until index = eValue

        numbers.push(index);

    }
    return numbers;

}

//display the numbers and mark odd numbers bold
//display or view functions
function displayNumbers(numbers) {

    let templateRows = "";

    for (let index = 0; index < numbers.length; index++) {

        let className = "odd";

        let number = numbers[index];
        if (number % 2 !== 0) {
            className = "odd";
        } else {
            className="even";
        }
        
        templateRows += `<tr><td class="${className}" >${number}</td></tr>
    }

    document.getElementById("results").innerHTML = templateRows;

}
                    
                

The code is sctructured in three functions.

getValues

getValues is the starter function. It fetches the numbers from the input, validates them by making sure they are integers, and then call two other functions, generateNumbers, and displaynumbers.


generateNumbers

This function uses a for loop to generate numbers from the starting value to the ending value. The loop will execute until index = eValue.


displayNumbers

The displayNumbers function is used to print the numbers on the page with bold odd numbers. It uses an if-else tatement to decide if a number is even or odd, assigning it to the number as a class. The odd numbers will be displayed bold because of the CSS code:
.odd{
font-weight: bold;
}.