Using moment.js I've written a script that goes through a list of events and hide those that started more than 6 hours ago and are considered finished.
var x=document.getElementsByClassName("event");
for (var i=0;i<x.length;i++) {
var starttime = moment((x[i].getElementsByClassName("start")[0].childNodes[0].nodeValue), 'YYYY-MM-DD HH:mm');
var cutoff = moment().subtract(6, 'hours').format('YYYY-MM-DD HH:mm');
if (starttime.isBefore(cutoff)) {
var expired=(x[i].getElementsByClassName("event-container")[0]);
expired.style.display = "none";
}
}
The script works fine but completely hiding the divs isn't the best idea. I would instead like to wrap all of the expired events in a div that then can be opened if you still want to view them. How do I go about doing that?
The end result would be something like:
<div class="openclose">
<div class="event">
<div class="event-container">
Old event info goes here
</div>
</div>
<div class="event">
<div class="event-container">
Old event info goes here
</div>
</div>
</div>
<div class="event">
<div class="event-container">
New event info goes here
</div>
</div>
<div class="event">
<div class="event-container">
New event info goes here
</div>
</div>