var Calendar = {};
Calendar.$ = function (id){
return document.getElementById(id);//id选择器
}
/**
* 初始化方法
* @param context
* @param startYear
* @param floatYear
*/
Calendar.init = function (startYear,floatYear,context){
try {
this.constructor = Calendar.init;
this.context = this.defaultContext;//默认执行上下文
this.context = context ? context.nodeType === 1 ? context : this.$(context):context||this.$("calendarSelect");//选择要渲染的空间
this.context.style.width = "100px";//默认长度
this.startYear = startYear||new Date().getFullYear();//开始的年份,默认当前年
this.floatYear = floatYear || 10;//浮动多少年
this.createOption = createOption(this.startYear,this.floatYear);//创建option
} catch (e) {
alert(e);
}
return this;
}
/**
* 创建option
* @param startYear
*/
function createOption(startYear,floatYear){
var fragment = document.createDocumentFragment();
fragment = tempCreateOption(fragment,floatYear,true);
var currenYearOption = document.createElement("option");
currenYearOption.selected = 'selected';//设置当前年为选中
currenYearOption.appendChild(document.createTextNode(startYear))
fragment.appendChild(currenYearOption);
fragment = tempCreateOption(fragment,floatYear,false);
Calendar.context.appendChild(fragment);
return this;
}
function tempCreateOption(fragment,floatYear,flag){
for(var i = flag?floatYear:1 ;flag?i>=1:i < floatYear ; flag?i--:i ++){
var option = document.createElement("option");
var tmp = flag ? this.startYear+ i : this.startYear-i;
var text = document.createTextNode(Calendar.startYear + (flag?i:-i));
option.appendChild(text);
fragment.appendChild(option);
}
return fragment;
}