让不同的脚本在同一页面中协同工作
congpeixue
2008-09-06
/* * 让不同的脚本在同一页面中协同工作 */ function addLoadEvent(fn) { if (typeof window.addEventListener != 'undefined') { window.addEventListener('load', fn, false); } else if (typeof document.addEventListener != 'undefined') { document.addEventListener('load', fn, false); } else if (typeof window.attachEvent != 'undefined') { window.attachEvent('onload', fn); } else { var oldfn = window.onload; if (typeof window.onload != 'function') { window.onload = fn; } else{ window.onload = function() { if(oldfn) { oldfn(); } fn(); }; } } } 例如:对如下日期变更函数的调用 /* * 日期控件变更用 */ function changeYearMonth(yearId,monthId,dayId){ var year = document.getElementById(yearId); var month = document.getElementById(monthId); var day = document.getElementById(dayId); if(year == null || month == null || day == null){ return; } //各月的标准的日数 var monthCount = new Array(12); monthCount = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); //取得被选择的月份的标准的日数 var dayCount=monthCount[parseInt(month.value-1)]; //考虑闰年 var yearVal=parseInt(year.value); if ((month.value == 2)&&(((yearVal%4 == 0)&&(yearVal%100 != 0))||(yearVal%400 == 0))) { dayCount = 29; } if(month.value >12 || month.value < 1 || yearVal == 0){ dayCount = 31; } //变更下拉列表中的(日)内容 var dayVal=parseInt(day.value); //因为存在一个空白选项,故初始大小设为29 day.options.length=29; for(var i=29;i<=dayCount;i++){ day.options[i]=new Option(i,i); if (dayVal == i) { day.options[i].selected=true; } } } 引用 addLoadEvent(changeYearMonth(*,*,*))
|