Created
January 14, 2017 03:36
-
-
Save RH2/39de0cd90d425a16ca6413df5a4eed7e to your computer and use it in GitHub Desktop.
For Santi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Minute Hour Overlap</title> | |
<style media="screen"> | |
body{ | |
font-family: sans-serif; | |
} | |
.total{ | |
padding:5%; | |
text-align: center; | |
vertical-align: middle; | |
width: auto; | |
margin-top: 10px; | |
background-color: hsla(200, 20%, 80%, 1); | |
} | |
#overlapCount{ | |
font-weight: bold; | |
} | |
</style> | |
</head> | |
<body> | |
<form id="formA" action="index.html" method="post"> | |
<div>initial hour: <input type="number" name="hourA" placeholder="initial hour"></div> | |
<div>initial minute: <input type="number" name="minuteA" placeholder="initial minute"> | |
<div>duration: <input type="number" name="hourDuration" placeholder="can be a fraction eg: 5.24"> | |
<button type="button" name="button" id="btnCalculate">calculate</button> | |
</form> | |
<div class="total"> | |
<div id="overlapCount">Results will be displayed here</div> | |
<div id="instances"></div> | |
</div> | |
<script type="text/javascript"> | |
var formA = document.getElementById("formA") | |
var button = formA.elements["button"] | |
button.addEventListener("click", logic) | |
function logic(){ ///////////////////////////////////////// | |
var hourA = parseInt(formA.elements["hourA"].value) | |
var minuteA = formA.elements["minuteA"].value | |
var hourDuration = parseFloat(formA.elements["hourDuration"].value) | |
// 60/12 = 5 | |
// overlap will occur once every hour. Formula is: 5*mod(hour,12)+ (5*(mod(hour,12)/12)) | |
// paraphrased: (time already covered by minute hand) + 5minute increment*(normalized hour versus half day ) | |
var lastMinute = (hourDuration*60)%60 | |
var results = [] | |
for (var i = 0; i < hourDuration ; i++) { | |
var resultHour = hourA + i | |
var resultHour = resultHour%13 | |
var resultMinute = 5*(resultHour) + 5*((resultHour)/12) | |
var willpush = true | |
console.log("i:"+ i +" hourDuration-1:"+ (hourDuration-1) +" && lastMinute:"+lastMinute+" resultMinute:"+resultMinute) | |
if((i==hourDuration-1) && (lastMinute<resultMinute)){ | |
willpush=false | |
if(lastMinute==0||lastMinute==60){willpush=true} | |
} | |
if(i==0&&minuteA>resultMinute){willpush=false} | |
console.log(willpush) | |
if(willpush == true){ | |
results.push("<b>"+resultHour+"h:</b>"+ resultMinute+"m") | |
} | |
} | |
display(results.length,results) | |
} | |
function display(Overlap,results){ | |
document.getElementById("overlapCount").innerHTML = "<h1>Overlaps: "+Overlap+"</h1>" | |
var String | |
var instances = document.getElementById("instances") | |
instances.innerHTML = "" | |
for (var i = 0; i < results.length; i++) { | |
instances.innerHTML+=results[i]+"<br/>" | |
} | |
} | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment