JSFiddle - React, Tailwind, and code Playground
by thirtydot
HTML
<table>
<tr>
<td style="background: #0ff;">1</td>
<td style="background: #f0f;">2</td>
</tr>
</table>
CSS
td {
padding: 30px;
}
JavaScript
$('td').on('mouseenter', function() {
$(this).data('originalColor', $(this).css('background-color'));
$(this).css('background-color', shadeColor2(rgb2hex($(this).css('background-color')), 0.6));
}).on('mouseleave', function() {
$(this).css('background-color', $(this).data('originalColor'));
});
function shadeColor2(color, percent) {
var f=parseInt(color.slice(1),16),t=percent<0?0:255,p=percent<0?percent*-1:percent,R=f>>16,G=f>>8&0x00FF,B=f&0x0000FF;
return "#"+(0x1000000+(Math.round((t-R)*p)+R)*0x10000+(Math.round((t-G)*p)+G)*0x100+(Math.round((t-B)*p)+B)).toString(16).slice(1);
}
function rgb2hex(rgb) {
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
function hex(x) {
return ("0" + parseInt(x).toString(16)).slice(-2);
}
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}