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;
}