亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

帶日期標注的日歷控件

2019-11-18 20:49:49
字體:
來源:轉載
供稿:網友
控件名稱:Calendar with Date Mark
版    本:1.0
類    型:HTML Component
運行需求:IE 5(推薦IE5.5或更高版本)、MSxml、aspasp.net(后臺)
費    用:免費
支    持:不提供支持
源 代 碼:XML Scriptlet
------------------------------------------------------------------------
<public:attach event="oncontentready" onevent="init()"/>
<public:PRoperty name="value" get="getValue" put="setValue"/>
<public:property name="stringValue" get="getStringValue" />
<public:property name="mark" get="getCurrentMark" put="setCurrentMark" />
<public:property name="markList" get="getMarkList" />
<public:method name="refresh" />
<public:method name="addMark" />
<public:method name="removeMark" />
<public:method name="removeAllMark" />
<public:method name="loadMark" />
<public:method name="saveMark" />
<public:event name="onvaluechange" id="vlcg" />
<script language="JScript">

//----------------------------------------------------------------
//  HTML Component : Calendar with date mark(帶時間標注的日歷控件)
//
//  Version        : 1.0
//
//  Request        : Microsoft IE 5 or up
//
//  Author         : JoJo
//
//  Last Realse    : 5/9/2001
//
//  Copyright      : Think Space Soft Tec
//
//  Contact        : thinkspace@163.net
//----------------------------------------------------------------

var date = new Date();
var activeDate = new Date();

var marklist = new ActiveXObject("Scripting.Dictionary");

function WriteXMLToDictionary(xmldoc,dict,rewrite){
  var xnodelist = xmldoc.documentElement.selectNodes("Mark");
  if (rewrite) dict.RemoveAll();
  for (var i=0;i<xnodelist.length;i++){
    var xnode = xnodelist.item(i);
    var xdate = xnode.selectSingleNode("MarkDate");
    var xnote = xnode.selectSingleNode("Note");
    //alert(xdate.text + "," + xnote.text);
    if (xdate.text && xnote.text){
      dict.item(xdate.text) = xnote.text;
    }
  }
}

function postxml(xmldoc,url){
  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.Open("POST",url,false);
  xmlhttp.Send(xmldoc);
  var xdoc = new ActiveXObject("Microsoft.XMLDom");
  xdoc.async = false;
  xdoc.loadXML(xmlhttp.responseText);
  return !!xdoc.documentElement.text;
}

function saveMark(url){
  var xmldoc = new ActiveXObject("Microsoft.XMLDom");
  WriteDictionaryToXML(marklist,xmldoc);
  if(postxml(xmldoc,url)){
    refresh();
    sendEvent();
    return true;
  }
  return false;
}

function WriteDictionaryToXML(dict,xmldoc){
  xmldoc.loadXML("<MarkList/>");
  var keys = (new VBArray(dict.Keys())).toArray();
  for (var i=0;i<keys.length;i++){
    try{
      var d = new Date(keys[i]);
    }catch(e){
      continue;
    }
    if (!dict.item(keys[i])) continue;
    var xmark = xmldoc.createElement("Mark");
    var xmarkdate = xmldoc.createElement("MarkDate");
    xmarkdate.text = dateToSortString(d);
    var xnote = xmldoc.createElement("Note");
    xnote.text = dict.item(keys[i]);
    xmark.appendChild(xmarkdate);
    xmark.appendChild(xnote);
    xmldoc.documentElement.appendChild(xmark);
  }
}

function loadMark(url,rewrite){
  var xmldoc = new ActiveXObject("Microsoft.FreeThreadedXMLDOM");
  xmldoc.async = false;
  xmldoc.load(url);
  //alert(xmldoc.xml);
  WriteXMLToDictionary(xmldoc,marklist,rewrite);
  refresh();
  sendEvent();
}

function refresh(){
  fillCalendar(date);
}

function getCurrentMark(){
  if(!getMark(activeDate)) return "";
  return getMark(activeDate);
}

function setCurrentMark(markvalue){
  addMark(activeDate,markvalue);
}

function getMarkList(){
  return marklist;
}

function dateToSortString(adate){
  return (adate.getMonth()+1) + "/" + adate.getDate() + "/" + adate.getFullYear();
}

function getMark(adate){
  if (marklist.Exists(dateToSortString(adate)))
    return marklist.Item(dateToSortString(adate));
}

function addMark(adate,note){
  if (!note) return false;
  try{
    var d = new Date(adate);
    marklist.item(dateToSortString(d)) = note;
    fillCalendar(date);
    return true;
  }catch(e){
    return false;
  }
}

function removeMark(adate){
  try
  {
    marklist.Remove(dateToSortString(adate));
    fillCalendar(date);
  }catch(e){
  }
}

function removeAllMark(){
  marklist.RemoveAll();
  fillCalendar(date);
}

function sendEvent(){
  var oevent = createEventObject();
  vlcg.fire(oevent);
}

function getStringValue(){
  return activeDate.getFullYear() + "年" + (activeDate.getMonth() + 1) + "月" + activeDate.getDate() + "日";
}

function getValue(){
  return activeDate;
}

function setValue(invalue){
  try{
    var tdate = new Date(invalue);
    activeDate.setFullYear(tdate.getFullYear(),tdate.getMonth(),tdate.getDate());
    date.setFullYear(tdate.getFullYear(),tdate.getMonth(),tdate.getDate());
    fillCalendar(date);
    sendEvent();
  }catch(e){
    return;
  }
}
function fillCalendar(adate){
  ynm.innerText = adate.getFullYear() + "年" + (adate.getMonth() + 1) + "月";
  var tempdate = new Date();
  tempdate.setFullYear(adate.getFullYear(),adate.getMonth(),1);
  var first = true;
  for (var i=0;i<tblbd.rows.length;i++){
    for (var j=0;j<tblbd.rows(i).cells.length;j++){
      var cell = tblbd.rows(i).cells(j);
      cell.innerHTML = "&nbsp;";
      cell.bgcolor = "";
      cell.title = "";
      cell.style.backgroundColor = "";
      
      if (tempdate.getDay() == j){
        if (!first) continue;
        cell.innerText = tempdate.getDate();

        if (getMark(tempdate)){
          cell.bgcolor = "wheat";
          cell.style.backgroundColor = cell.bgcolor;
          var tt = getMark(tempdate);
          if (tt.length<20)
            cell.title = tt
          else
            cell.title = tt.substr(0,20) + "...";
        }
        
        if (tempdate.getDate() == activeDate.getDate()){
          hightLightDate(cell);
        }
        
        tempdate.setFullYear(tempdate.getFullYear(),tempdate.getMonth(),tempdate.getDate()+1);
        first = tempdate.getDate() > 1;
      }
    }
  }
}

function hightLightDate(object){
  var tds = tblbd.all.tags("TD");
  for (var i=0;i<tds.length;i++){
    if (tds(i) != object){
      tds(i).style.backgroundColor = tds(i).bgcolor;
      tds(i).style.color = ""
    }else{
      tds(i).style.backgroundColor = "navy";
      tds(i).style.color = "white";
    }
  }
}

function selectDate(){
  var i = parseInt(window.event.srcElement.innerText);
  if ((!isNaN(i)) && (i<3000)){
    hightLightDate(window.event.srcElement);
    activeDate.setFullYear(date.getFullYear(),date.getMonth(),i);
    sendEvent();
  }
}

function moveDate(){
  var k = window.event.keyCode;
  switch(k){
    case 37:
      activeDate.setFullYear(activeDate.getFullYear(),activeDate.getMonth(),activeDate.getDate()-1);
      break;
    case 38:
      activeDate.setFullYear(activeDate.getFullYear(),activeDate.getMonth(),activeDate.getDate()-7);
      break;
    case 39:
      activeDate.setFullYear(activeDate.getFullYear(),activeDate.getMonth(),activeDate.getDate()+1);
      break;
    case 40:
      activeDate.setFullYear(activeDate.getFullYear(),activeDate.getMonth(),activeDate.getDate()+7);
      break;
  }
  date.setFullYear(activeDate.getFullYear(),activeDate.getMonth(),activeDate.getDate());
  fillCalendar(date);
  sendEvent();
}

function setActiveDate(){
  var i = activeDate.getDate();
  activeDate.setFullYear(date.getFullYear(),date.getMonth(),i);
  while ((date.getMonth() != activeDate.getMonth()) || (date.getFullYear() != activeDate.getFullYear())){
    activeDate.setFullYear(date.getFullYear(),date.getMonth(),i--);
  }
  sendEvent();
}

function goNextMonth(){
  date.setMonth(date.getMonth()+1,1);
  setActiveDate();
  fillCalendar(date);
}

function goNextYear(){
  date.setFullYear(date.getFullYear()+1,date.getMonth(),1);
  setActiveDate();
  fillCalendar(date);
}

function goPriorYear(){
  date.setFullYear(date.getFullYear()-1,date.getMonth(),1);
  setActiveDate();
  fillCalendar(date);
}

function goPriorMonth(){
  date.setMonth(date.getMonth()-1,1);
  setActiveDate();
  fillCalendar(date);
}

//---------------------------------------------------------------------

var tbl = window.document.createElement("<TABLE style=/"border:solid 1px;width:100%;height:100%;font-size:9pt/" cellspacing=0>");
var tblhd = window.document.createElement("THEAD");
var tblbd = window.document.createElement("TBODY");

var anchorPriorYear = window.document.createElement("A");
anchorPriorYear.style.fontFamily = "webdings";
anchorPriorYear.style.cursor = "hand";
anchorPriorYear.innerText = "7";
anchorPriorYear.title = "上一年";

var anchorPriorMonth = window.document.createElement("A");
anchorPriorMonth.style.fontFamily = "webdings";
anchorPriorMonth.style.cursor = "hand";
anchorPriorMonth.innerText = "3";
anchorPriorMonth.title = "上一月";

var anchorNextMonth = window.document.createElement("A");
anchorNextMonth.style.fontFamily = "webdings";
anchorNextMonth.style.cursor = "hand";
anchorNextMonth.innerText = "4";
anchorNextMonth.title = "下一月";

var anchorNextYear = window.document.createElement("A");
anchorNextYear.style.fontFamily = "webdings";
anchorNextYear.style.cursor = "hand";
anchorNextYear.innerText = "8";
anchorNextYear.title = "下一年";

var ynm = window.document.createElement("FONT");
ynm.style.width = "60%";
ynm.style.fontWeight = "bold";

var cpt = window.document.createElement("CAPTION");

tbl.appendChild(cpt);
tbl.appendChild(tblhd);
tbl.appendChild(tblbd);

function inithead(){
  cpt.style.backgroundColor = "navy";
  cpt.style.color = "white";
  cpt.style.textAlign = "center";
  cpt.style.cursor = "defalut";
  cpt.appendChild(anchorPriorYear);
  cpt.appendChild(anchorPriorMonth);
  cpt.appendChild(ynm);
  cpt.appendChild(anchorNextMonth);
  cpt.appendChild(anchorNextYear);
  var row = tblhd.insertRow();
  row.align = "center";
  var weekStr = new Array("日","一","二","三","四","五","六");
  for (var i=0;i<weekStr.length;i++){
    var cell = row.insertCell();
    cell.innerText = weekStr[i];
    cell.style.borderBottom = "solid 1px";
    cell.style.cursor = "default";
      cell.align = "center";
  }
}

function initbody(){
  for (var i=0;i<6;i++){
    var row = tblbd.insertRow();
    for (var j=0;j<7;j++){
      var cell = row.insertCell();
      cell.innerHTML = "&nbsp;";
      cell.style.cursor = "default";
      cell.align = "center";
    }
  }
}

function init(){
  inithead();
  initbody();
  element.appendChild(tbl);
  fillCalendar(date);
  tblbd.attachEvent("onclick",selectDate);
  tblbd.attachEvent("onkeydown",moveDate);
  anchorPriorYear.attachEvent("onclick",goPriorYear);
  anchorPriorMonth.attachEvent("onclick",goPriorMonth);
  anchorNextMonth.attachEvent("onclick",goNextMonth);
  anchorNextYear.attachEvent("onclick",goNextYear);
  sendEvent();
}
</script>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品视频久久| 成人美女免费网站视频| 一区二区av在线| 日韩中文视频免费在线观看| 久久久久久一区二区三区| 91久久在线播放| 亚洲毛片在线看| 成人精品福利视频| 国产色综合天天综合网| 日韩美女免费观看| 日韩精品在线视频美女| 亚洲国产精品福利| 黄色成人av网| 亚洲成人黄色在线| 久久久噜噜噜久久中文字免| 日韩黄在线观看| 欧美国产在线视频| 一区二区欧美亚洲| 成人性生交大片免费看小说| 欧美一级高清免费| 亚洲欧美国产高清va在线播| 久久精品人人爽| 亚洲性生活视频| 欧美三级欧美成人高清www| 中文字幕最新精品| 色七七影院综合| 91免费视频国产| 91精品国产91久久久久| 亚洲国产精品人久久电影| 中文字幕亚洲无线码在线一区| 国产日韩欧美一二三区| 久久国产天堂福利天堂| 国产成人欧美在线观看| 国产精品一区av| 国产+人+亚洲| 亚洲精品一区在线观看香蕉| 久久久精品2019中文字幕神马| 日韩视频第一页| 欧美精品videos| 这里只有精品视频| 欧美高清视频在线| 中文字幕欧美在线| 北条麻妃久久精品| 久久精品国产清自在天天线| 成人国内精品久久久久一区| 91久久精品国产| 国内精品小视频在线观看| 97久久精品人搡人人玩| 久久久精品一区二区| 国产成人精品日本亚洲专区61| 一区二区三区精品99久久| 国产在线精品成人一区二区三区| 亚洲一区二区三区sesese| 日韩精品免费综合视频在线播放| 国产精品自在线| 黑人巨大精品欧美一区二区一视频| 国产一区二区三区视频免费| 日韩精品中文字幕视频在线| 日韩欧美精品网站| 久久精品视频在线播放| 久久精品国产成人精品| 中文字幕精品www乱入免费视频| 色爱av美腿丝袜综合粉嫩av| 国产精品丝袜久久久久久不卡| 亚洲精品国产免费| 久久久国产精品视频| 久久九九全国免费精品观看| 亚洲欧美国产精品久久久久久久| 欧美性猛交xxxx| 91色琪琪电影亚洲精品久久| 不卡中文字幕av| 国产+成+人+亚洲欧洲| 一个色综合导航| 欧洲午夜精品久久久| 国产成人精彩在线视频九色| 欧美日韩另类在线| 国产97色在线| 国产成人精品免高潮在线观看| 2023亚洲男人天堂| 亚洲视频在线观看视频| 91久久久精品| 亚洲国产小视频| 日韩av一区在线| 国产一区二区丝袜| 日韩美女av在线免费观看| 国产午夜精品理论片a级探花| 欧美电影免费观看高清完整| 精品偷拍各种wc美女嘘嘘| 亚洲电影免费观看高清完整版| 久久久久久久久久亚洲| 亚洲欧美国产一区二区三区| 久久人人爽人人爽人人片av高请| 久久人人爽人人爽人人片亚洲| 国产一区玩具在线观看| 午夜精品理论片| 中文字幕少妇一区二区三区| 精品久久久国产精品999| 国产精品一区二区三区久久久| 热久久99这里有精品| 欧美最猛性xxxxx(亚洲精品)| 4388成人网| 青青精品视频播放| 日韩在线视频观看正片免费网站| 国产a∨精品一区二区三区不卡| 日韩电视剧免费观看网站| 热久久免费国产视频| 亚洲色图国产精品| 欧美日韩综合视频网址| 亲子乱一区二区三区电影| 最新国产精品拍自在线播放| 日韩中文字幕精品视频| 国产精品va在线播放我和闺蜜| 日本亚洲欧洲色| 久久久999精品视频| 午夜欧美不卡精品aaaaa| 欧美精品日韩三级| 亚洲最大的av网站| 国产精品高潮呻吟久久av黑人| 色小说视频一区| 日韩中文字幕在线免费观看| 2018中文字幕一区二区三区| 国产精品欧美一区二区| 欧美在线观看www| 久久这里有精品视频| 一本色道久久88综合日韩精品| 国产香蕉97碰碰久久人人| 成人午夜激情网| 亚洲三级 欧美三级| 亚洲欧美日韩爽爽影院| 亚洲japanese制服美女| 国产成人自拍视频在线观看| 亚洲成人激情视频| 欧美噜噜久久久xxx| 国产精品亚洲片夜色在线| 亚洲黄在线观看| 久久久久久久久久久91| 欧美午夜视频一区二区| 欧美精品电影免费在线观看| 91sao在线观看国产| 午夜精品久久久久久99热软件| 国产精品三级美女白浆呻吟| 久久久久久久久久久国产| 国产精品成av人在线视午夜片| 97色在线观看免费视频| 亚洲一区二区久久久| 成人乱人伦精品视频在线观看| 夜夜嗨av色一区二区不卡| 日韩在线欧美在线国产在线| 国产精品jvid在线观看蜜臀| 亚洲一区二区三区乱码aⅴ蜜桃女| 91国产美女在线观看| 日韩av中文字幕在线播放| 在线播放国产精品| 亚洲日韩中文字幕| 亚洲免费av网址| 疯狂蹂躏欧美一区二区精品| 日韩网站免费观看高清| 中文字幕欧美专区| 97在线精品国自产拍中文| 最近2019中文字幕mv免费看| 亚洲激情在线观看视频免费| 日韩成人在线电影网| 亚洲精品视频免费在线观看| 亚洲男女自偷自拍图片另类|