JSFiddle - React, Tailwind, and code Playground
by kigorw
HTML
<div id="cal"></div>
<script>
function cal(id) {
var superthis = this;
this.id = id
this.now = new Date()
this.sel_date = (new Date()).getDate()
this.sel_month = (new Date()).getMonth()
this.sel_year = (new Date()).getFullYear()
this.month =
['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентрябрь','Октябрь','Ноябрь','Декабрь']
this.last_days =
['31','28','31','30','31','30','31','31','30','31','30','31']
this.last_days1 =
['31','29','31','30','31','30','31','31','30','31','30','31']
this.wdays = ['Пн','Вт','Ср','Чт','Пт','Сб','Нд']
this.$ = function(id) {
if (typeof id === 'string')
return document.getElementById(id);
}
this.print_cal = function (){
var str = '<table cellpadding="2" width="280">';
str +='<tr ><td style="cursor:pointer;font-size:15px"
id="prev_year_'+this.id+'">«</td><td
style="cursor:pointer;font-size:15px"
id="prev_'+this.id+'">«</td><td colspan="3" align="center">'+
this.month[this.sel_month]+' '+ this.sel_year+'</td><td align="right"
style="cursor:pointer;font-size:15px"
id="next_'+this.id+'">»</td><td align="right"
style="cursor:pointer;font-size:15px"
id="next_year_'+this.id+'">»</td></tr>';
str +='<tr style="background:#FF9900;font:12px Arial;color:#FFFFFF">';
for(var i=0; i<this.wdays.length; i++)
str +='<td align="center" width="40">'+this.wdays[i]+'</td>'
str +='</tr>';
var last_days = ((this.sel_year % 4)==0)? this.last_days1 : this.last_days;
var sel_time = new Date();
sel_time.setMonth(this.sel_month);
sel_time.setYear(this.sel_year);
sel_time.setDate(1);
var start_week_day = sel_time.getDay();
start_week_day = start_week_day==0?7:start_week_day;
var cur_day = d-start_week_day+1;
for(var d=1;d<=42;d++) {
if (d-1 % 7 ==0)
str +='<tr>';
str +='<td>';
cur_day =...