Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » HTML, CSS, JavaScript

как сделать календарь с праздниками?

Обсуждение темы как сделать календарь с праздниками? в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; на сайте поставил календарь на java скрипте не знай правильно или может лучше на php не знай, ну так вот, как к ниму ...


Закрытая тема
 
Опции темы
Старый 20.03.2010, 21:43   #1
на сайте поставил календарь на java скрипте не знай правильно или может лучше на php не знай, ну так вот, как к ниму прикрутить празднечные дни, дни повторяющиеся и дни только в определённый день типа встричи, и чтоб дни предыдущего и следущего месяца одображались тоже но другим цветои в конце и в начале соответственно, но не так чтоб все а просто для заполнения пустых клеточек в таблице текущего месяца

PHP код:

<html>

<
head>

<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<
title></title>

<
style>

table.calendar
{
    
bordernone;
    
width200px
}
tr.calendar 
{
    
cursor: default;
    
font11px;
    
font-familyTimes New Roman;
    
text-aligncenter;
    
height11px
}
th.calendar
{
    
font11px;
    
font-familyTimes New Roman;
    
text-aligncenter;
    
height20px;
    
border1px solid gray;
    
height16px;
    
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#ffffff'endColorStr='#BBBBBB'gradientType='0');
}
td.calendar
{
    
border1px dotted silver;
    
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#FFFFFF'endColorStr='#DFDFDF'gradientType='0');
}
td.calendar_today
{
    
border1px dotted silver;
    
background-color#FF8B8B;
}
table.calendar_active 
{
    
background-color#FF8C00;
}
table.calendar_button_0_1
{
    
font11px;
    
font-familyTimes New Roman;
    
text-aligncenter;
    
border1px solid gray;
    
height16px;
    
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#ffffff'endColorStr='#BBBBBB'gradientType='0');
}
table.calendar_button_1_1
{
    
font11px;
    
font-familyTimes New Roman;
    
text-aligncenter;
    
border1px solid gray;
    
height16px;
    
filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#ffffff'endColorStr='#FF8C00'gradientType='0');
}


</
style>




<
script>
//var args = window.dialogArguments;

        
var WeekTitles=new Array('<font color=ff0000>Вс</font>','Пн','Вт','Ср','Чт','Пт','<font color=ff0000>Сб</font>')
        
        var 
months = new Array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'); // врезка для написания месяца прописью

        
function showallweektitles(){
        var 
i
    
    
answer="  <tr>\n"
        
for(i=0;i<WeekTitles.length;i++) 
    
    
answer+="    <th CLASS=\"calendar\">"+WeekTitles[i]+"</th>\n"
    
    
answer+="  </tr>\n"
        
return answer
        
}
        function 
calendar_show(mdy){
        var 
sdate= new Date(m+'/1/'+y);
        var 
mdate= new Date(m+'/'+d+'/'+y);
        var 
todaydate= new Date();
        var 
days=dayonmonth(m,y)
        var 
iday=0dayanswer=''
    
         
var lmonth=months[sdate.getMonth()];    // врезка для написания месяца прописью

    
answer+='<table border=0 CLASS="calendar">'
    
answer+='  <tr CLASS="calendar">'
    
answer+='      <th CLASS="calendar" colspan=7>'
    
answer+='        <table width="100%" border=0 cellpadding=0 cellspacing=0 height="100%">'
    
answer+='              <tr CLASS="calendar">'
    
answer+='                <td align="left">&nbsp;'+m+' - '+lmonth+'</td>' //строка показ месяца
    
answer+='                <td align="right">'+y+' г.&nbsp;</td>' //строка показ года
    
answer+='              </tr>'
    
answer+='        </table>'
    
answer+='    </th>'
    
answer+='  </tr>'
    
answer+='  <tr>'
    
answer+=showallweektitles()
        for(
day=0;day<sdate.getDay();day++){
        
iday++
    
answer+="<td></td>" // сюда пишется дни прошлого месяца
        
}
        for(
day=1;day<=days;day++){
        
iday++
        
// строка сегоднешнего дня
        
if((todaydate.getMonth()+1)==&& todaydate.getDate()==day && todaydate.getFullYear()==y)
    
answer+="    <td CLASS=\"calendar_today\"><table onMouseOver=\"this.className='calendar_active'\" onMouseOut=\"this.className=''\" border=0 cellpadding=0 cellspacing=0 width=\"100%\" height=\"100%\"><tr CLASS=\"calendar\"><td>"+day+"</td></tr></table></td>"
        
else
    
answer+="    <td CLASS=\"calendar\"><table onMouseOver=\"this.className='calendar_active'\" onMouseOut=\"this.className=''\" border=0 cellpadding=0 cellspacing=0 width=\"100%\" height=\"100%\"><tr CLASS=\"calendar\"><td>"+day+"</td></tr></table></td>"
        
if(iday==7){
    
answer+="</tr><tr>"
        
iday=0
        
}
    }
    
answer+="  </tr>"
    

//кнопки календаря


    
answer+='  <tr CLASS="calendar">'
    
answer+='      <th colspan=7>'
    
    
answer+='<table CLASS="calendar">'
    
answer+='  <tr CLASS="calendar">'
    
answer+='    <td width="25%"><table onClick="calendar_move(\'-\',\'y\','+m+','+d+','+y+')" CLASS="calendar_button_0_1" onMouseOver="this.className=\'calendar_button_1_1\'" onMouseOut="this.className=\'calendar_button_0_1\'" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr CLASS="calendar"><td>«</td></tr></table></td>'
    
answer+='    <td width="25%"><table onClick="calendar_move(\'-\',\'m\','+m+','+d+','+y+')" CLASS="calendar_button_0_1" onMouseOver="this.className=\'calendar_button_1_1\'" onMouseOut="this.className=\'calendar_button_0_1\'" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr CLASS="calendar"><td>‹</td></tr></table></td>'
    
answer+='    <td width="25%"><table onClick="calendar_move(\'+\',\'m\','+m+','+d+','+y+')" CLASS="calendar_button_0_1" onMouseOver="this.className=\'calendar_button_1_1\'" onMouseOut="this.className=\'calendar_button_0_1\'" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr CLASS="calendar"><td>›</td></tr></table></td>'
    
answer+='    <td width="25%"><table onClick="calendar_move(\'+\',\'y\','+m+','+d+','+y+')" CLASS="calendar_button_0_1" onMouseOver="this.className=\'calendar_button_1_1\'" onMouseOut="this.className=\'calendar_button_0_1\'" border=0 cellpadding=0 cellspacing=0 width="100%" height="100%"><tr CLASS="calendar"><td>»</td></tr></table></td>'
    
answer+='  </tr>'
    
answer+='</table>'

    
answer+='    </th>'
    
answer+='  </tr>'

    
    
    
answer+='</table>'
    
    
    
    

    
    
    
    
//self.calendar.innerHTML=answer
    
document.all.calendar.innerHTML=answer
}
function 
dayonmonth(my){ // Функция, для определения количества дней в месяце
    
var answer
    
if(m!=2){ // Если не "Февраль"
        
var date1=new Date(m+'/31/'+y)
        var 
mm=(m<12)?(m+1):1;
        var 
yy=(m<12)?y:(y+1);
        var 
date2=new Date(mm+'/1/'+yy)
        
answer=(date1.getDay()==date2.getDay())?'30':'31';
    }else{
        var 
date1=new Date(m+'/29/'+y)
        var 
mm=(m<12)?(m+1):1;
        var 
yy=(m<12)?y:(y+1);
        var 
date2=new Date(mm+'/1/'+yy)
        
answer=(date1.getDay()==date2.getDay())?'28':'29';
    }
    return 
answer
}
function 
calendar_move(toindexmdy){
    switch(
to){
        case(
'-'):
            switch(
index){
                case(
'm'):
                    if(
m>1){
                        
m--
                    }else{
                        
m=1
                        y
--
                    }
                    break
                case(
'd'):
                    var 
mm=(m>1)?--m:1
                    
var yy=(m>1)?y:--y
                    
var days=dayonmonth(mmyy)
                    if(
d>1){
                        
d--
                    }else{
                        
d=days
                        m
=mm
                        y
=yy
                    
}
                    break
                case(
'y'):
                    
y--
                    break
            }
            break
        case(
'+'):
            switch(
index){
                case(
'm'):
                    if(
m<12){
                        
m++
                    }else{
                        
m=1
                        y
++
                    }
                    break
                case(
'd'):
                    var 
mm=(m<12)?++m:1
                    
var yy=(m<12)?y:++y
                    
var days=dayonmonth(my)
                    if(
d<days){
                        
d++
                    }else{
                        
d=1
                        m
=mm
                        y
=yy
                    
}
                    break
                case(
'y'):
                    
y++
                    break
                }
            break
    }
    
calendar_show(mdy)
}



  
//пишет год для отображения
 
var time=new Date();
 var 
year=time.getYear();
 if (
year<100year="19" time.getYear();
 else 
year=time.getYear();
  
  
  
  
//пишет месяц для отображения
d=new Date();
mon=d.getMonth()+1;


 
 
</SCRIPT>

</head>

<body>

<div id="calendar"></div>
<script>calendar_show(mon,0,year)</script>

</body>
</html> 
 
Старый 20.03.2010, 21:43
Ссылки
Старый 20.03.2010, 21:43
Закрытая тема


Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
растягивающийся календарь на флеш DeCa Технологии Flash 0 21.12.2010 16:21
Календарь при помощи html и css sonya777 HTML, CSS, JavaScript 24 22.08.2009 20:12
Календарь на 2006 г. Ленок Графические работы 7 18.01.2006 13:06


Текущее время: 23:11. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум