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

📄 mydatefield.as

📁 Flash自定义日期选择控件
💻 AS
字号:
/*************** 注意 ******************
添加到其他项目时,在适当的全局MC点击时,添加

_root.[..].MC.onPress = function(){
	 [..].dateMC._visible = false;
}
**************************************/
//定义侦听对象
someListener1 = new Object();
//屏幕鼠标事件侦听  _root ==> _root.CtlBox
someListener1.onMouseUp = function () {
	if (!_root.startDate.dateButton.hitTest(_root._xmouse,_root._ymouse,false) 
	&& !_root.startDate.dateMC.hitTest(_root._xmouse,_root._ymouse,false))
	_root.startDate.dateMC._visible = false;
	
	if (!_root.endDate.dateButton.hitTest(_root._xmouse,_root._ymouse,false) 
	&& !_root.endDate.dateMC.hitTest(_root._xmouse,_root._ymouse,false))
	_root.endDate.dateMC._visible = false;
}
Mouse.addListener(someListener1);

//初始化为当前日期
var curDate:Date = new Date();
if(this.dateValue.text != ""){
	var arrInit = new Array(); 
	arrInit = this.dateValue.text.split("-");	
	this._parent.iYear 	= arrInit[0];
	curDate = new Date(arrInit[0],Number(arrInit[1])-1,arrInit[2]);
}
var iYY = curDate.getFullYear();
var iMM = curDate.getMonth()+1;
var iDD = curDate.getDate();
var sMM = iMM; if(iMM<10) sMM = "0"+iMM;
var sDD = iDD; if(iDD<10) sDD = "0"+iDD;

this.changed = true;
this.dateValue.text = iYY+"-"+sMM+"-"+sDD;  //注意项目中没有初始化自定义日历的日期,此处添加
this.dateMC.today = iYY+"-"+sMM+"-"+sDD;
this.dateMC.iYear = iYY;
this.dateMC.iMonth = iMM;
this.dateMC.textToday.text = "<b>"+iYY+"-"+iMM+"-"+iDD+"</b>";
this.dateMC.dateChooser.selectedDate = curDate;
this.dateMC.textYear.text  = "<b>"+iYY+"</b>";
this.dateMC.textMonth.text = "<b>"+iMM+"月</b>";
this.dateMC._visible = false;

//刷新"今天"日期,防止半夜24点交错
function setToday(){
	curDate = new Date();
	iYY = curDate.getFullYear();
  iMM = curDate.getMonth()+1;
  iDD = curDate.getDate();
  sMM = iMM; if(iMM<10) sMM = "0"+iMM;
  sDD = iDD; if(iDD<10) sDD = "0"+iDD;
  
  this.dateMC.today = iYY+"-"+sMM+"-"+sDD;
  this.dateMC.textToday.text = "<b>"+iYY+"-"+iMM+"-"+iDD+"</b>";
  this.dateMC.dateChooser.showToday = false;//刷新 DateChooser
  this.dateMC.dateChooser.showToday = true;
}
//日历Icon 按钮,显示日历选项卡
this.dateButton.onPress = function () {
	setToday();
	this._parent.dateMC._visible = !this._parent.dateMC._visible;
}
//"今天"选择红圈按钮,取得今日日期,并设置日历选项卡
this.dateMC.todayButton.onPress = function () {
	this._parent._visible = false;
	this._parent._parent.dateValue.text	= this._parent.today;
	this._parent._parent.changed = true;
	var arr = new Array(); 
	arr = this._parent.today.split("-");	
	this._parent.iYear 	= arr[0];
	this._parent.iMonth = Number(arr[1]);
	this._parent.textYear.text  = "<b>"+this._parent.iYear+"</b>";		//重新设置显示年份
	this._parent.textMonth.text = "<b>"+this._parent.iMonth+"月</b>";	//重新设置显示年份
	this._parent.dateChooser.displayedYear 	= this._parent.iYear;			//重新设置日历卡年份
	this._parent.dateChooser.displayedMonth = this._parent.iMonth-1;	//设重新设置日历卡月份
	this._parent.dateChooser.selectedDate = new Date(arr[0],Number(arr[1])-1,arr[2]);
}
//日历选项卡,选择新日期
function dateChange(eventObj){
	this._parent._visible = false;
	if(this.selectedDate == undefined){
		var arr = new Array(); 
		arr = this._parent._parent.dateValue.text.split("-");
		var curDate:Date = new Date(arr[0],Number(arr[1])-1,arr[2]);
		this.selectedDate = curDate;
		return;
	}
	
	iYY = this.selectedDate.getFullYear();
	iMM = this.selectedDate.getMonth()+1;
	iDD = this.selectedDate.getDate();
	sMM = iMM; if(iMM<10) sMM = "0"+iMM;
	sDD = iDD; if(iDD<10) sDD = "0"+iDD;
	this._parent._parent.dateValue.text = iYY+"-"+sMM+"-"+sDD;
	this._parent._parent.changed = true;
	
	this._parent.iYear = this.selectedDate.getFullYear();
	this._parent.iMonth = this.selectedDate.getMonth()+1;
}
this.dateMC.dateChooser.addEventListener("change", dateChange);

//年向上减1 << 
this.dateMC.BTYear1.onPress = function() {
	/*this._parent._parent.dateValue.text
	this.dateValue.text = iYY+"-"+sMM+"-"+sDD;
	this.dateMC.today = iYY+"-"+sMM+"-"+sDD;
	this.dateMC.textYear.text  = "<b>"+iYY+"</b>";*/
	//trace(this._parent.today+"|"+this._parent.iYear);
	this._parent.iYear--;
	this._parent.textYear.text  = "<b>"+this._parent.iYear+"</b>";//设置显示年份
	this._parent.dateChooser.displayedYear = this._parent.iYear;	//设置日历卡,向上翻一年
}
//年向下 加1 << 
this.dateMC.BTYear2.onPress = function() {
	this._parent.iYear++;
	this._parent.textYear.text  = "<b>"+this._parent.iYear+"</b>";//设置显示年份
	this._parent.dateChooser.displayedYear = this._parent.iYear;	//设置日历卡,向上翻一年
}
//月向上减1 << 
this.dateMC.BTMonth1.onPress = function() {
	this._parent.iMonth--; 
	if(this._parent.iMonth==0) this._parent.iMonth = 12;
	
	this._parent.textMonth.text  = "<b>"+this._parent.iMonth+"月</b>";//设置显示月份
	this._parent.dateChooser.displayedMonth = this._parent.iMonth-1;	//设置日历卡,向上翻一月
	
	if(this._parent.iMonth == 12) {
		this._parent.iYear--;
		this._parent.textYear.text  = "<b>"+this._parent.iYear+"</b>";		//重新设置显示年份
		this._parent.dateChooser.displayedYear = this._parent.iYear;			//重新设置日历卡年份		
	}
}
//月向下 加1 << 
this.dateMC.BTMonth2.onPress = function() {
	this._parent.iMonth++;
	if(this._parent.iMonth==13)	this._parent.iMonth = 1;
	
	this._parent.textMonth.text  = "<b>"+this._parent.iMonth+"月</b>";//设置显示月份
	this._parent.dateChooser.displayedMonth = this._parent.iMonth-1;	//设置日历卡,向上翻一年
	
	if(this._parent.iMonth == 1) {
		this._parent.iYear++;
		this._parent.textYear.text  = "<b>"+this._parent.iYear+"</b>";		//重新设置显示年份
		this._parent.dateChooser.displayedYear = this._parent.iYear;			//重新设置日历卡年份
	}
}

//========================  设置自定义日历控件日期值是否变化  ===================//
//================ _root.startDate.changed 或 _root.endDate.changed =============//
function dateValueChanged(eventObj:Object) {
	this._parent.changed = true;
}
this.dateValue.addEventListener("change", dateValueChanged);

⌨️ 快捷键说明

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