⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendar.js

📁 打开目录ads文件夹 找到top_ads.js文件 用记事本打开后就可以看到: -------------------------------------- var head_ads_tx
💻 JS
📖 第 1 页 / 共 2 页
字号:
  if (newdate) cal.callHandler();
  if (closing) cal.callCloseHandler();
}

function Calendar(mondayFirst, dateStr, yourHandler, yourCloseHandler) {
  var parent = document.getElementsByTagName("body")[0];
  this.init = function (mondayFirst, date) {
    var today = new Date();
    var year = date.getFullYear();
    if (year < this.minYear) year = this.minYear;
    else if (year > this.maxYear) year = this.maxYear;
    date.setFullYear(year);
    this.mondayFirst = mondayFirst;
    this.date = new Date(date);
    var month = date.getMonth();
    var mday = date.getDate();
    var no_days = getMonthDays(year, month);
    date.setDate(1);
    var wday = date.getDay();
    var MON = mondayFirst ? 1 : 0;
    var SUN = mondayFirst ? 6 : 0;
    var SAT = mondayFirst ? 5 : 6;
    if (mondayFirst) wday = (wday > 0) ? (wday - 1) : 6;
    var iday = 1;
    var row = this.table.getElementsByTagName("tbody")[0].firstChild;
    for (var i = 0; i < 6; ++i, row = row.nextSibling) {
      var cell = row.firstChild;
      if (iday > no_days) { row.className = "emptyrow"; continue; }
      else row.className = "daysrow";
      for (var j = 0; j < 7; ++j, cell = cell.nextSibling) {
        if ((!i && j < wday) || iday > no_days)
          cell.className = "emptycell";
        else {
          cell.firstChild.data = iday;
          cell.className = "day";
          date.setDate(iday);
          cell.caldate = new Date(date);
          //cell.ttip = _DN[wday + MON].substr(0, 3) + ", " + _MN[month].substr(0, 3) + " " + iday + ", " + year;
          cell.ttip = year + "年 " +  _MN[month].substr(0, 3) + " " + iday + "日 星期" + _DN[wday + MON].substr(0, 3);
          if (iday == mday) { addClass(cell, "selected"); this.currentDateEl = cell; }
					if (datesEqual(date, today)) {
						addClass(cell, "today");
						//cell.ttip += " (today)";
						cell.ttip += " (今天)";
					}
          if (wday == SAT || wday == SUN) addClass(cell, "weekend");
          ++wday; ++iday;
          if (wday == 7) wday = 0;
        }
      }
    }
    //this.title.firstChild.data = _MN[month] + ", " + year;
    this.title.firstChild.data =  year + "年 " +_MN[month];
  }
  this.setDate = function (date) {
    if (!datesEqual(date, this.date)) this.init(this.mondayFirst, date);
  }
  this.setMondayFirst = function (mondayFirst) {
    this.init(mondayFirst, this.date);
    this.displayWeekdays();
  }
  this.displayWeekdays = function () {
    var MON = this.mondayFirst ? 0 : 1;
    var SUN = this.mondayFirst ? 6 : 0;
    var SAT = this.mondayFirst ? 5 : 6;
    var cell = this.daynames.firstChild;
    for (var i = 0; i < 7; ++i, cell = cell.nextSibling) {
      cell.className = "day name";
      if (!i)
        if (this.mondayFirst) cell.ttip = "显示星期日为周的开始";	//Display Sunday first
        else cell.ttip = "显示星期一为周的开始";		//Display Monday first
      if (i == SUN || i == SAT) addClass(cell, "weekend");
      cell.firstChild.data = _DN[i + 1 - MON].substr(0,2);
    }
  }
  this.setRange = function (a, z) {
    this.minYear = a;
    this.maxYear = z;
  }
  this.callHandler = function () {
    if (this.yourHandler) this.yourHandler(this, this.formatDate());
  }
  this.callCloseHandler = function () {
    if (this.yourCloseHandler) this.yourCloseHandler(this);
  }
  this.destroy = function () {
    var el = this.element.parentNode;
    el.removeChild(this.element);
  }
  this.show = function () { this.element.style.visibility = "visible"; }
  this.hide = function () { this.element.style.visibility = "hidden"; }
  this.showAt = function (x, y) {
    var s = this.element.style;
    s.left = x + "px";
    s.top = y + "px";
    this.show();
  }
  this.showAtElement = function (el) {
    function Pos (x, y) {
      this.x = x;
      this.y = y;
    }
    function getPos(el) {
      var r = new Pos(el.offsetLeft, el.offsetTop);
      if (el.offsetParent) {
        var tmp = getPos(el.offsetParent);
        r.x += tmp.x;
        r.y += tmp.y;
      }
      return r;
    }
    var p = getPos(el);
    this.showAt(p.x, p.y + el.offsetHeight);
  }
  this.hideCombos = function () {
    this.monthsCombo.style.display = "none";
    this.yearsCombo.style.display = "none";
  }
  this.dragStart = function (ev) {
    if (this.dragging) return;
    this.dragging = true;
    var posX;
    var posY;
    if (is_ie) {
      posY = window.event.clientY + document.body.scrollTop;
      posX = window.event.clientX + document.body.scrollLeft;
    } else {
      posY = ev.clientY + window.scrollY;
      posX = ev.clientX + window.scrollX;
    }
    var st = this.element.style;
    this.xOffs = posX - parseInt(st.left);
    this.yOffs = posY - parseInt(st.top);
    addEvent(document, "mousemove", calDragIt);
    addEvent(document, "mouseover", stopEvent);
    addEvent(document, "mouseup", calDragEnd);
  }
  this.setDateFormat = function (str) { this.dateFormat = str; }
  this.formatDate = function () {
    var str = new String(this.dateFormat);
    var m = this.date.getMonth();
    var d = this.date.getDate();
    var y = this.date.getFullYear();
    var w = this.date.getDay();
    var s = new Array;
    s['d'] = d;
    s['dd'] = (d < 10) ? ('0' + d) : d;
    s['m'] = 1+m;
    s['mm'] = (m < 9) ? ('0' + (1+m)) : (1+m);
    s['y'] = y;
    s['yy'] = new String(y).substr(2, 2);
    s['D'] = _DN[w].substr(0, 3);
    s['DD'] = _DN[w];
    s['M'] = _MN[m].substr(0, 3);
    s['MM'] = _MN[m];
    var re = /(.*)([^a-zA-Z0-9]|^)(d|dd|m|mm|y|yy|MM|M|DD|D)([^a-zA-Z0-9]|$)(.*)/;
    while (re.exec(str) != null) str = RegExp.$1 + RegExp.$2 + s[RegExp.$3] + RegExp.$4 + RegExp.$5;
    return str;
  }
  this.parseDate = function (str, fmt) {
    var y = 0;
    var m = -1;
    var d = 0;
    var a = str.split(/[^a-zA-Z0-9]+/);
    if (!fmt) fmt = this.dateFormat;
    var b = fmt.split(/[^a-zA-Z0-9]+/);
    for (var i = 0; i < a.length; ++i) {
      if (b[i] == 'D' || b[i] == 'DD') continue;
      if (b[i] == 'd' || b[i] == 'dd') d = a[i];
      if (b[i] == 'm' || b[i] == 'mm') m = a[i]-1;
      if (b[i] == 'y') y = a[i];
      if (b[i] == 'yy') y = parseInt(a[i]) + 1900;
      if (b[i] == 'M' || b[i] == 'MM')
        for (var j = 0; j < 12; ++j)
          if (_MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; }
    }
    if (y != 0 && m != -1 && d != 0) {
      this.setDate(new Date(y, m, d));
      return;
    }
    y = 0; m = -1; d = 0;
    for (var i = 0; i < a.length; ++i) {
      if (a[i].search(/[a-zA-Z]+/) != -1) {
        var t = -1;
        for (var j = 0; j < 12; ++j)
          if (_MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; }
        if (t != -1) {
          if (m != -1) d = m+1;
          m = t;
        }
      } else if (parseInt(a[i]) <= 12 && m == -1) m = a[i]-1;
      else if (parseInt(a[i]) > 31 && y == 0) y = a[i];
      else if (d == 0) d = a[i];
    }
    if (y == 0) {
      var today = new Date();
      y = today.getFullYear();
    }
    if (m != -1 && d != 0) this.setDate(new Date(y, m, d));
  }

  if (yourHandler) this.yourHandler = yourHandler;
  if (yourCloseHandler) this.yourCloseHandler = yourCloseHandler;

  this.setRange(1970, 2050);
  this.dragging = false;
  this.setDateFormat("y-mm-dd");

  var date = null;
  if (dateStr) date = new Date(dateStr);
  else date = new Date();

  var table = document.createElement("table");
  this.table = table;
  table.cellSpacing = 0;
  table.cellPadding = 0;
  table.calendar = this;
  addEvent(table, "mousedown", tableMouseDown);

  var div = document.createElement("div");
  this.element = div;
  div.className = "calendar";
  div.style.position = "absolute";
  div.style.visibility = "hidden";
  div.appendChild(table);

  var add_evs = function (el) {
    addEvent(el, "mouseover", dayMouseOver);
    addEvent(el, "mousedown", dayMouseDown);
    addEvent(el, "mouseout", dayMouseOut);
    if (is_ie) {
      addEvent(el, "dblclick", dayMouseDblClick);
      el.setAttribute("unselectable", true);
    }
  }

  // table header
  var thead = document.createElement("thead");
  table.appendChild(thead);
  var cell = null;
  var row = null;

  var cal = this;
  var hh = function (text, cs, navtype) {
    cell = document.createElement("td");
    row.appendChild(cell);
    if (cs != 1) cell.colSpan = cs;
    cell.className = "button";
    add_evs(cell);
    cell.calendar = cal;
    cell.navtype = navtype;
    if (text.substr(0, 1) != '&') cell.appendChild(document.createTextNode(text));
    else cell.innerHTML = text;
    return cell;
  }

  row = document.createElement("tr");
  thead.appendChild(row);
  row.className = "headrow";

  hh("-", 1, 100).ttip = "切换星期日";	//Toggle first day of week
  this.title = hh("", 5, 300);
  this.title.className = "title";
  this.title.ttip = "按住鼠标移动";	//Drag to move
  this.title.style.cursor = "move";
  hh("X", 1, 200).ttip = "关闭";	//Close

  row = document.createElement("tr");
  thead.appendChild(row);
  row.className = "headrow";

  hh("&#x00ab;", 1, -2).ttip = "上一年 (按住从菜单选取)";	//Prev. year (hold for menu)
  hh("&#x2039;", 1, -1).ttip = "上一月 (按住从菜单选取)";	//Prev. month (hold for menu)
  //hh("Today", 3, 0).ttip		 = "Go Today";
  hh("今天", 3, 0).ttip			 = "今天";
  hh("&#x203a;", 1, 1).ttip  = "下一月 (按住从菜单选取)";	//Next month (hold for menu)
  hh("&#x00bb;", 1, 2).ttip  = "下一年 (按住从菜单选取)";	//Next year (hold for menu)

  // day names
  row = document.createElement("tr");
  thead.appendChild(row);
  row.className = "daynames";
  this.daynames = row;
  for (var i = 0; i < 7; ++i) {
    cell = document.createElement("td");
    row.appendChild(cell);
    cell.appendChild(document.createTextNode(""));
    if (!i) {
      cell.navtype = 100;
      cell.calendar = this;
      add_evs(cell);
    }
  }
  this.mondayFirst = mondayFirst;
  this.displayWeekdays();

  var tbody = document.createElement("tbody");
  table.appendChild(tbody);

  for (var i = 0; i < 6; ++i) {
    row = document.createElement("tr");
    tbody.appendChild(row);
    for (var j = 0; j < 7; ++j) {
      cell = document.createElement("td");
      row.appendChild(cell);
      cell.appendChild(document.createTextNode(""));
      cell.calendar = this;
      add_evs(cell);
    }
  }

  var tfoot = document.createElement("tfoot");
  table.appendChild(tfoot);

  row = document.createElement("tr");
  tfoot.appendChild(row);
  row.className = "footrow";

  cell = hh("选择日期", 7, 300);	//Select date
  cell.className = "ttip";
  cell.ttip = "按住鼠标移动";	//Drag to move
  cell.style.cursor = "move";
  this.tooltips = cell;

  var div = document.createElement("div");
  this.monthsCombo = div;
  div.className = "combo";
  for (var i = 0; i < _MN.length; ++i) {
    var mn = document.createElement("div");
    mn.className = "label";
    mn.month = i;
    mn.appendChild(document.createTextNode(_MN[i].substr(0, 3)));
    div.appendChild(mn);
  }
  this.element.appendChild(div);

  div = document.createElement("div");
  this.yearsCombo = div;
  div.className = "combo";
  for (var i = 0; i < 12; ++i) {
    var yr = document.createElement("div");
    yr.className = "label";
    yr.appendChild(document.createTextNode(""));
    div.appendChild(yr);
  }
  this.element.appendChild(div);

  this.init(mondayFirst, date);
  parent.appendChild(this.element);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -