Demo:
http://john.dynamicdrive.com/demos/t...ycho_cal_h.htm
Code:
<!DOCTYPE html>
<html>
<head>
<title>Psychotic Calendar Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
function colorThem($){
$('td').css({color: ''}).data('backgroundColor', '');
$('td:contains("b")').css({backgroundColor: 'black', color: 'white'}).data('backgroundColor', 'black');
$('td:contains("r")').colorRand(53, 'red');
$('td').colorRand(19, 'lightblue').colorRand(34, 'lime').colorRand(17, 'yellow').colorRand(42, 'pink').each(function(i, td){
if(!$(td).data('backgroundColor')){
$(td).css({backgroundColor: 'green', color: 'white'});
} else if ($(td).data('backgroundColor') === 'red') {
$(td).css({color: 'white'});
}
});
}
jQuery(function($){
$.fn.colorRand = function(num, color){
var pcol = this, pcols = -1, apcol, tot = pcol.length;
while(++pcols < num){
apcol = pcol.eq(Math.floor(Math.random() * tot));
if(apcol.data('backgroundColor')){
--pcols;
} else {
apcol.css({backgroundColor: color});
apcol.data('backgroundColor', color);
}
}
return pcol;
};
colorThem($);
$('button:contains("Random Test")').click(function(){
colorThem($);
});
});
</script>
</head>
<body>
<table id="tbl" border='1'>
<tbody>
<tr>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>r</td><td>x</td><td>x</td><td>b</td><td>x</td><td>x</td><td>x</td>
</tr>
<tr>
<td class="twentyNine">x</td><td class="twentyNine">x</td><td class="twentyNine">x</td><td class="thirty">x</td><td class="thirty">x</td><td class="thirty">x</td><td class="thirty-one">x</td><td class="thirty-one">x</td><td class="thirty-one">x</td>
</tr>
<tr><td class="twentyNine">x</td><td class="twentyNine">x</td><td class="twentyNine">x</td><td class="thirty">x</td><td class="thirty">x</td><td class="thirty">x</td><td class="thirty-one">x</td><td class="thirty-one">x</td><td class="thirty-one">x</td>
</tr>
<tr><td class="twentyNine">r</td><td class="twentyNine">r</td><td class="twentyNine">r</td><td class="thirty">r</td><td class="thirty">r</td><td class="thirty">r</td><td class="thirty-one">r</td><td class="thirty-one">r</td><td class="thirty-one">r</td>
</tr>
</tbody></table>
<button>Random Test</button>
</body>
</html>
Bookmarks