打印本文 打印本文 关闭窗口 关闭窗口
一个兼容IE、Firefox和Opera浏览器的英文日历脚本
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2189  更新时间:2009/4/23 11:26:56  文章录入:mintao  责任编辑:mintao

<html>
<head>
      <SCRIPT language="javascript">
      <!--
 var fixedX = -1   // x position (-1 if to appear below control)
 var fixedY = -1   // y position (-1 if to appear below control)
 var startAt = 1   // 0 - sunday ; 1 - monday
 var showWeekNumber = 0 // 0 - don't show; 1 - show
 var showToday = 0  // 0 - don't show; 1 - show
 //var imgDir = "pic/calendar/"   // directory for images ... e.g. var imgDir="/img/"
 var imgDir = "../../Inc/image/"

 var gotoString = "Go To Current Month"
 var todayString = "Today is"
 var weekString = "Wk"
 var scrollLeftMessage = "Click to scroll to previous month. Hold mouse button to scroll automatically."
 var scrollRightMessage = "Click to scroll to next month. Hold mouse button to scroll automatically."
 var selectMonthMessage = "Click to select a month."
 var selectYearMessage = "Click to select a year."
 var selectDateMessage = "Select [date] as date." // do not replace [date], it will be replaced by date.

 var crossobj, crossMonthObj, crossYearObj, monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected, monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear, nStartingMonth

 var bPageLoaded=false
 
 var ie = false;
 var dom=document.getElementById

 var ns4=document.layers
 var today = new Date()
 var dateNow  = today.getDate()
 var monthNow = today.getMonth()
 var yearNow  = today.getYear()
 var imgsrc = new Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right2.gif")
 var img = new Array()

 var bShow = false;
 
 if((navigator.userAgent.toLowerCase().indexOf("opera") == -1) && (navigator.userAgent.toLowerCase().indexOf("msie") != -1))
 {
    ie = true;
 }

    /* hides <select> and <applet> objects (for IE only) */
    function hideElement( elmID, overDiv )
    {
      if( ie )
      {
        for( i = 0; i < document.all.tags( elmID ).length; i++ )
        {
          obj = document.all.tags( elmID )[i];
          if( !obj || !obj.offsetParent )
          {
            continue;
          }
     
          // Find the element's offsetTop and offsetLeft relative to the BODY tag.
          objLeft   = obj.offsetLeft;
          objTop    = obj.offsetTop;
          objParent = obj.offsetParent;
         
          while( objParent.tagName.toUpperCase() != "BODY" )
          {
            objLeft  += objParent.offsetLeft;
            objTop   += objParent.offsetTop;
            objParent = objParent.offsetParent;
          }
     
          objHeight = obj.offsetHeight;
          objWidth = obj.offsetWidth;
     
          if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
          else if(( overDiv.offsetTop + overDiv.offsetHeight ) <= objTop );
          else if( overDiv.offsetTop >= ( objTop + objHeight ));
          else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
          else
          {
            obj.style.visibility = "hidden";
          }
        }
      }
    }
    
    /*
    * unhides <select> and <applet> objects (for IE only)
    */
    function showElement( elmID )
    {
      if( ie )
      {
        for( i = 0; i < document.all.tags( elmID ).length; i++ )
        {
          obj = document.all.tags( elmID )[i];
         
          if( !obj || !obj.offsetParent )
          {
            continue;
          }
       
          obj.style.visibility = "";
        }
      }
    }

 function HolidayRec (d, m, y, desc)
 {
  this.d = d
  this.m = m
  this.y = y
  this.desc = desc
 }

 var HolidaysCounter = 0
 var Holidays = new Array()

 function addHoliday (d, m, y, desc)
 {
  Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc )
 }

 if (dom)
 {
  for (i=0;i<imgsrc.length;i++)
  {
   img[i] = new Image
   img[i].src = imgDir + imgsrc[i]
  }
  document.write ("<div onclick='bShow=true' id='calendar' style='z-index:+999;position:absolute;visibility:hidden;'><table width="+((showWeekNumber==1)?250:220)+" style='font-family:arial;font-size:11px;border-width:1;border-style:solid;border-color:#a0a0a0;font-family:arial; font-size:11px}' bgcolor='#ffffff'><tr bgcolor='#0000aa'><td><table width='"+((showWeekNumber==1)?248:218)+"'><tr><td style='padding:2px;font-family:arial; font-size:11px;'><font color='#ffffff'><B><span id='caption'></span></B></font></td><td align=right><a href='javascript:hideCalendar()'><IMG SRC='"+imgDir+"close.gif' WIDTH='15' HEIGHT='13' BORDER='0' ALT='Close the Calendar'></a></td></tr></table></td></tr><tr><td style='padding:5px' bgcolor=#ffffff><span id='content'></span></td></tr>")
  
  if (showToday==1)
  {
   document.write ("<tr bgcolor=#f0f0f0><td style='padding:5px' align=center><span id='lblToday'></span></td></tr>")
  }
  
  document.write ("</table></div><div id='selectMonth' style='z-index:+999;position:absolute;visibility:hidden;'></div><div id='selectYear' style='z-index:+999;position:absolute;visibility:hidden;'></div>");
 }

 var monthName = new Array("01","02","03","04","05","06","07","08","09","10","11","12")
 var monthName2 = new Array("01","02","03","04","05","06","07","08","09","10","11","12")
 if (startAt==0)
 {
  dayName = new Array ("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
 }
 else
 {
  dayName = new Array ("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
 }
 var styleAnchor="text-decoration:none;color:black;"
 var styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;"

 function swapImage(srcImg, destImg)
 {
  if (ie)
  {
   document.getElementById(srcImg).setAttribute("src",imgDir + destImg)
  }
 }

 function init()
 {
  if (!ns4)
  {
   if (!ie)
   {
    yearNow += 1900
   }

   crossobj=(dom)?document.getElementById("calendar").style : ie? document.all.calendar : document.calendar
   hideCalendar()

   crossMonthObj=(dom)?document.getElementById("selectMonth").style : ie? document.all.selectMonth : document.selectMonth

   crossYearObj=(dom)?document.getElementById("selectYear").style : ie? document.all.selectYear : document.selectYear

   monthConstructed=false;
   yearConstructed=false;

   if (showToday==1)
   {
 &nb

[1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口