BMI Calculator
HTML
<div class="slice-bmi__widget">
<div class="bmi-widget bmi-widget__wrapper" data-bmi-title="BMI Calculator" data-bmi-units="metric" data-bmi-widget="0"><h2 class="bmi-widget__title">BMI Calculator</h2><div class="bmi-widget__form-wrapper"><div class="bmi-widget__form"><label class="bmi-widget__form-section-label">gewicht</label><div class="bmi-widget__form-weight"><label class="bmi-widget__form-input-label"><input data-unit="kg" data-unit-type="weight" class="bmi-widget__form-input" type="number"><span>kg</span></label></div><label class="bmi-widget__form-section-label">lengte</label><div class="bmi-widget__form-height"><label class="bmi-widget__form-input-label"><input data-unit="cm" data-unit-type="height" class="bmi-widget__form-input" type="number"><span>cm</span></label></div></div></div><div class="bmi-widget__result"><p class="bmi-widget__result-value">__._</p><p class="bmi-widget__result-sub">BMI</p><p class="bmi-widget__result-message"></p></div></div>
</div>
CSS
body {padding:10px; background:#eee;}
input {padding:5px; border:none;}
#result {margin:20px 0px; padding:10px;}
JavaScript
// Convert Inches to Centimeters
function convertHeight(inches) {
return inches * 0.0254;
}
// Convert Pounds to Kilograms
function convertWeight(pounds) {
return pounds/2.20462262185;
}
// Find Unit of Measurement
function findUnit(unit) {
var output;
for (i=0; i<unit.length; i++) {
if(unit[i].checked === true) {
output = unit[i].value;
}
}
return output;
}
// Cache Event Elements
var calculate = $('#calculate');
var result = $('#result');
// RENDER SELECTED UNIT
calculate.on('click', function(){
var weight = document.getElementById('weight').value;
var height = document.getElementById('height').value;
var weightUnit = findUnit(document.getElementsByName('weightUnit'));
var heightUnit = findUnit(document.getElementsByName('heightUnit'));
var w;
//console.log('Weight is measured in: ' + weightUnit + '\nHeight is measured in: ' + heightUnit);
// If measurement is in pounds, do the math.
if(weightUnit == 'lbs') {
w = convertWeight(weight);
console.log(w + "kg");
} else {
w = weight;
console.log(w + "kg");
}
// If height measurement is in inches, do the math.
if(heightUnit == 'in') {
h = convertHeight(height);
console.log(h + "m");
} else {
h = height;
console.log(h + "m");
};
result.text('Your BMI is: ' + w/(h*h));
});