|
 
- 帖子
- 3709
- 积分
- 634
- 技术分
- 21
- 来自
- 猥琐神教
- 在线时间
- 2259 小时
- 注册时间
- 2007-5-15
|
1#
发表于 2007-8-26 04:59
| 只看该作者
纯AS日历
var currentYear:Number;
var currentMonth:Number;
var currentDate:Number;
var monthArray = new Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月");
function createButton(buttonName:String, buttonLabel:String, buttonData:String, parentClip:MovieClip, xPos:Number, yPos:Number, buttonWidth:Number, buttonHeight:Number, buttonHandler:Function):Void {
var newClip:MovieClip = parentClip.createEmptyMovieClip(buttonName, parentClip.getNextHighestDepth());
newClip._x = xPos;
newClip._y = yPos;
newClip.moveTo(0, 0);
newClip.lineStyle(1, 0x666666);
newClip.lineTo(buttonWidth, 0);
newClip.lineTo(buttonWidth, buttonHeight);
newClip.lineTo(0, buttonHeight);
newClip.lineTo(0, 0);
newClip.endFill();
newClip.createTextField("labelField", newClip.getNextHighestDepth(), 2, buttonHeight/2-7, buttonWidth-4, 18);
newClip.labelField.text = buttonLabel;
newClip.buttonData = buttonData;
newClip.onRelease = function() {
buttonHandler(this.buttonData);
};
}
function deleteButton(buttonName:String):Void {
this[buttonName].removeMovieClip();
}
function setWeek(year:Number, month:Number, date:Number):Void {
var thisDate:Date = new Date(year, month, date);
monthYearLabel.text = monthArray[month]+" "+year;
for (var i:Number = 0; i<7; i++) {
deleteButton("day"+i+"button");
createButton("day"+i+"button", String(thisDate.getDate()), thisDate.toString(), this, 60+(i*30), 40, 20, 20, handleDateSelected);
thisDate.setDate(thisDate.getDate()+1);
}
}
function handlePreviousWeek():Void {
var thisDate:Date = new Date(currentYear, currentMonth, currentDate);
thisDate.setDate(thisDate.getDate()-7);
currentYear = thisDate.getYear()+1900;
currentMonth = thisDate.getMonth();
currentDate = thisDate.getDate();
setWeek(currentYear, currentMonth, currentDate);
}
function handleNextWeek():Void {
var thisDate:Date = new Date(currentYear, currentMonth, currentDate);
thisDate.setDate(thisDate.getDate()+7);
currentYear = thisDate.getYear()+1900;
currentMonth = thisDate.getMonth();
currentDate = thisDate.getDate();
setWeek(currentYear, currentMonth, currentDate);
}
function handleDateSelected(selectedDate:String):Void {
trace("handleDate:"+selectedDate);
}
function init():Void {
createButton("previousWeekButton", "<<", "", this, 30, 40, 20, 20, handlePreviousWeek);
createButton("nextWeekButton", ">>", "", this, 270, 40, 20, 20, handleNextWeek);
this.createTextField("day0Label", this.getNextHighestDepth(), 63, 22, 20, 20);
this.day0Label.text = "日";
this.createTextField("day1Label", this.getNextHighestDepth(), 93, 22, 20, 20);
this.day1Label.text = "一";
this.createTextField("day2Label", this.getNextHighestDepth(), 123, 22, 20, 20);
this.day2Label.text = "二";
this.createTextField("day3Label", this.getNextHighestDepth(), 153, 22, 20, 20);
this.day3Label.text = "三";
this.createTextField("day4Label", this.getNextHighestDepth(), 183, 22, 20, 20);
this.day4Label.text = "四";
this.createTextField("day5Label", this.getNextHighestDepth(), 213, 22, 20, 20);
this.day5Label.text = "五";
this.createTextField("day6Label", this.getNextHighestDepth(), 243, 22, 20, 20);
this.day6Label.text = "六";
this.createTextField("monthYearLabel", this.getNextHighestDepth(), 130, 5, 150, 20);
var todaysDate:Date = new Date();
todaysDate.setDate(todaysDate.getDate()-todaysDate.getDay());
currentYear = todaysDate.getYear()+1900;
currentMonth = todaysDate.getMonth();
currentDate = todaysDate.getDate();
setWeek(currentYear, currentMonth, currentDate);
}
init();
复制粘帖就可看到效果,有兴趣扩展一下 |
|