JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://kylestetz.github.io/CLNDR/js/moment.js"></script>
<script src="http://kylestetz.github.io/CLNDR/js/underscore.js"></script>
<script src="http://kylestetz.github.io/CLNDR/js/clndr.js"></script>
<div class="container">
<h3></h3>
<div class="cal2">
<script type="text/template" id="template-calendar">
<div class="clndr-controls">
<div class="clndr-previous-button">‹</div>
<div class="month"><%= month %></div>
<div class="clndr-next-button">›</div>
</div>
<div class="clndr-grid">
<div class="days-of-the-week">
<% _.each(daysOfTheWeek, function(day) { %>
<div class="header-day"><%= day %></div>
<% }); %>
<div class="days">
<% _.each(days, function(day) { %>
<div class="<%= day.classes %>" id="<%= day.id %>"><%= day.day %>
<% _.each(day.events, function(event) { %>
<div><%= event.title %></div>
<img src="<%= event.image %>" />
<% }) %>
</div>
<% }); %>
</div>
</div>
</div>
</script>
</div>
</div>
CSS
@import url(http://fonts.googleapis.com/css?family=Droid+Sans+Mono);
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
html[xmlns] .clearfix {
display: block;
}
* html .clearfix {
height: 1%;
}
.noselect {
-webkit-user-select: none;
/* Chrome/Safari */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* IE10+ */
}
.cal2 {
max-width: 100%;
margin: 0 auto;
font-family: 'Droid Sans Mono';
}
.cal2 .clndr .clndr-controls {
display: block;
display: inline-block;
width: 100%;
margin-bottom: 3px;
}
.cal2 .clndr .clndr-controls .clndr-previous-button {
float: left;
width: 10%;
text-align: left;
cursor: pointer;
-webkit-user-select: none;
/* Chrome/Safari */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* IE10+ */
}
.cal2 .clndr .clndr-controls .clndr-previous-button:hover {
background-color: #f4f4f4;
}
.cal2 .clndr .clndr-controls .month {
float: left;
width: 80%;
text-align: center;
}
.cal2 .clndr .clndr-controls .clndr-next-button {
float: left;
width: 10%;
text-align: right;
cursor: pointer;
-webkit-user-select: none;
/* Chrome/Safari */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* IE10+ */
}
.cal2 .clndr .clndr-controls .clndr-next-button:hover {
background-color: #f4f4f4;
}
.cal2 .clndr .clndr-grid {
text-align: center;
display: inline-block;
}
.cal2 .clndr .clndr-grid .header-day {
float: left;
width: 25px;
height: 25px;
background: #FF4545;
display: none;
}
.cal2 .clndr .clndr-grid .day {
float: left;
width: 125px;
height: 125px;
margin: 5px;
background: silver;
}
.cal2 .clndr .clndr-grid .day.event {
background-color: #B4E09F;
}
.cal2 .clndr .clndr-grid .day.today {
background-color: #E3C57F;
}
.cal2 .clndr .clndr-grid .empty {
float: left;
width: 125px;
height: 125px;
background:...
JavaScript
$(document).ready( function() {
// Here's our events array. We could grab this via AJAX as well.
var eventArray = [
{ date: "2013-11-24", title: "This is an event title", url: "http://google.com", image: "http://placekitten.com/50/50" }
];
var clndr2 = $('.cal2').clndr({
template: $('#template-calendar').html(),
events: eventArray,
startWithMonth: moment().add('month', 0),
clickEvents: {
click: function(target) {
console.log(target);
}
}
});
// bind both clndrs to the left and right arrow keys
$(document).keydown( function(e) {
if(e.keyCode == 37) {
// left arrow
clndr2.back();
}
if(e.keyCode == 39) {
// right arrow
clndr2.forward();
}
});
});