JSFiddle - React, Tailwind, and code Playground
by mlms13
HTML
<div id="top">
<form action="#" id="addTask">
<input type="text" name="addItem" id="addItem" />
</form>
</div>
<div id="middle">
<div class="item">
<input type="checkbox" /><span>Go Running</span>
</div>
<div class="item">
<input type="checkbox" /><span>Push-ups</span>
</div>
<div class="item">
<input type="checkbox" /><span>Sit-ups</span>
</div>
<div class="item">
<input type="checkbox" /><span>Litter</span>
</div>
<div class="item">
<input type="checkbox" /><span>Shave</span>
</div>
<div class="item">
<input type="checkbox" /><span>Shower</span>
</div>
<div class="item">
<input type="checkbox" /><span>Check Ask Ubuntu</span>
</div>
<div class="item">
<input type="checkbox" /><span>Set Time Trial</span>
</div>
<div class="item">
<input type="checkbox" /><span>Dishes</span>
</div>
<div class="item">
<input type="checkbox" /><span>Feed the Cats</span>
</div>
<div class="item">
<input type="checkbox" /><span>64 oz of Water</span>
</div>
</div>
CSS
body {
font-family: sans-serif;
margin: 0;
overflow: hidden;
padding: 0;
}
#top {
background: #777;
border-bottom: 1px solid #555;
border-top: 1px solid #ddd;
box-shadow: 0 2px 4px rgba(0,0,0,0.3);
margin-bottom: 12px;
padding: 10px;
}
#top input {
border: 1px solid #555;
border-radius: 4px;
box-shadow: inset 1px 1px 4px rgba(0,0,0,0.5);
margin: -4px;
padding: 4px;
-webkit-background-clip: padding-box;
width: 100%;
}
.item {
border-bottom: 1px solid #ddd;
padding: 4px;
}
.item.hover {
background: #e2f7ff;
}
input[type=checkbox] {
margin-right: 12px;
visibility: hidden;
}
.hover input[type=checkbox] {
visibility: visible;
}
.completed {
color: #bbb;
text-decoration: line-through;
}
JavaScript
$('#addTask').submit(function () {
var value = $('#addItem').val(),
task = '<div class="item"><input type="checkbox" /><span>' + value + '</span></div>';
$('#addItem').val('');
$('#middle').append(task);
return false;
});
$('#middle').delegate('input[type=checkbox]', 'click', function () {
$(this).next('span').toggleClass('completed');
}).delegate('.item', 'hover', function () {
$(this).toggleClass('hover');
});