我將兩個scrip檔案匯入一個JS里,引入。但是只能執行前面一個scrip 第二個的無法執行。具體 代碼如下:
/*第一個*/
var sWeek = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
var dNow = new Date();
var CalendarData = new Array(100);
var madd = new Array(12);
var tgString = "甲乙丙丁戊己庚辛壬癸";
var dzString = "子丑寅卯辰巳午未申酉戌亥";
var numString = "一二三四五六七八九十";
var monString = "正二三四五六七八九十冬臘";
var sx = "鼠牛虎兔龍蛇馬羊猴雞狗豬";
var cYear, cMonth, cDay, TheDate;
CalendarData = new Array(0xA4B, 0x5164B, 0x6A5, 0x6D4, 0x415B5, 0x2B6, 0x957, 0x2092F, 0x497, 0x60C96, 0xD4A, 0xEA5, 0x50DA9, 0x5AD, 0x2B6, 0x3126E, 0x92E, 0x7192D, 0xC95, 0xD4A, 0x61B4A, 0xB55, 0x56A, 0x4155B, 0x25D, 0x92D, 0x2192B, 0xA95, 0x71695, 0x6CA, 0xB55, 0x50AB5, 0x4DA, 0xA5B, 0x30A57, 0x52B, 0x8152A, 0xE95, 0x6AA, 0x615AA, 0xAB5, 0x4B6, 0x414AE, 0xA57, 0x526, 0x31D26, 0xD95, 0x70B55, 0x56A, 0x96D, 0x5095D, 0x4AD, 0xA4D, 0x41A4D, 0xD25, 0x81AA5, 0xB54, 0xB6A, 0x612DA, 0x95B, 0x49B, 0x41497, 0xA4B, 0xA164B, 0x6A5, 0x6D4, 0x615B4, 0xAB6, 0x957, 0x5092F, 0x497, 0x64B, 0x30D4A, 0xEA5, 0x80D65, 0x5AC, 0xAB6, 0x5126D, 0x92E, 0xC96, 0x41A95, 0xD4A, 0xDA5, 0x20B55, 0x56A, 0x7155B, 0x25D, 0x92D, 0x5192B, 0xA95, 0xB4A, 0x416AA, 0xAD5, 0x90AB5, 0x4BA, 0xA5B, 0x60A57, 0x52B, 0xA93, 0x40E95);
madd[0] = 0;
madd[1] = 31;
madd[2] = 59;
madd[3] = 90;
madd[4] = 120;
madd[5] = 151;
madd[6] = 181;
madd[7] = 212;
madd[8] = 243;
madd[9] = 273;
madd[10] = 304;
madd[11] = 334;
function GetBit(m, n) {
return(m >> n) & 1;
}
function e2c() {
TheDate = (arguments.length != 3) ? new Date() : new Date(arguments[0], arguments[1], arguments[2]);
var total, m, n, k;
var isEnd = false;
var tmp = TheDate.getFullYear();
total = (tmp - 1921) * 365 + Math.floor((tmp - 1921) / 4) + madd[TheDate.getMonth()] + TheDate.getDate() - 38;
if(TheDate.getYear() % 4 == 0 && TheDate.getMonth() > 1) {
total++;
}
for(m = 0;; m++) {
k = (CalendarData[m] < 0xfff) ? 11 : 12;
for(n = k; n >= 0; n--) {
if(total <= 29 + GetBit(CalendarData[m], n)) {
isEnd = true;
break;
}
total = total - 29 - GetBit(CalendarData[m], n);
}
if(isEnd) break;
}
cYear = 1921 + m;
cMonth = k - n + 1;
cDay = total;
if(k == 12) {
if(cMonth == Math.floor(CalendarData[m] / 0x10000) + 1) {
cMonth = 1 - cMonth;
}
if(cMonth > Math.floor(CalendarData[m] / 0x10000) + 1) {
cMonth--;
}
}
}
/*戊戌狗年 臘月廿*/
function GetcDateString() {
var tmp = "";
tmp += tgString.charAt((cYear - 4) % 10);
tmp += dzString.charAt((cYear - 4) % 12);
tmp += sx.charAt((cYear - 4) % 12);
tmp += "年 ";
if(cMonth < 1) {
tmp += "(閏)";
tmp += monString.charAt(-cMonth - 1);
} else {
tmp += monString.charAt(cMonth - 1);
}
tmp += "月";
tmp += (cDay < 11) ? "初" : ((cDay < 20) ? "十" : ((cDay < 30) ? "廿" : "三十"));
if(cDay % 10 != 0 || cDay == 10) {
tmp += numString.charAt((cDay - 1) % 10);
}
return tmp;
}
function GetLunarDay(solarYear, solarMonth, solarDay) {
if(solarYear < 1921 || solarYear > 2020) {
return "";
} else {
solarMonth = (parseInt(solarMonth) > 0) ? (solarMonth - 1) : 11;
e2c(solarYear, solarMonth, solarDay);
return GetcDateString();
}
}
function getFullYear(d) { // 修正firefox下year錯誤
yr = d.getYear();
if(yr < 1000) yr += 1900;
return yr;
}
/*寫入頁面*/
function showDate() {
var D = new Date();
var yy = D.getFullYear();
var mm = D.getMonth() + 1;
var dd = D.getDate();
var ww = D.getDay();
var ss = parseInt(D.getTime() / 1000);
var h = D.getHours();
var m = D.getMinutes();
var s = D.getSeconds();
var sValue = getFullYear(dNow) + "年" + (dNow.getMonth() + 1) + "月" + dNow.getDate() + "日" + " " + sWeek[dNow.getDay()] + " ";
sValue += GetLunarDay(yy, mm, dd);
sValue += shapetime(h,m,s);
document.getElementById("pDate").innerHTML = sValue;
setTimeout("showDate()", 500);
};
/*格式化時間*/
function shapetime(h, m, s) {
if(s <= 9) s = "0" + s;
if(m <= 9) m = "0" + m;
if(h <= 9) h = "0" + h;
return h + ":" + m + ":" + s
}
window.onload = showDate;
/*第二個*/
var index = 0;
function changeImg(){
//1. 獲得要切換圖片的那個元素
var img = document.getElementById("img1");
//計算出當前要切換到第幾張圖片
var curIndex = index%4 + 2; //0,1,2
img.src="https://bbs.csdn.net/topics/images/"+curIndex+".png"; //1,2,3
//每切換完,索引加1
index = index + 1;
}
function init(){
setInterval("changeImg()",4000);
}
當我把window.onload = showDate注釋以后,第二個script可以執行,但是第一個又無法顯示了。另外就是第一個執行結果圖片中如何加入空格往后空格一點。請問大神們要怎么改,我是新手,什么都不懂。請求幫忙解決。
uj5u.com熱心網友回復:
兩個代碼的window.onload事件要合在一起window.onload = function () {
showDate();
init();
};
這樣加空格
var sValue = getFullYear(dNow) + "年" + (dNow.getMonth() + 1) + "月" + dNow.getDate() + "日" + " " + sWeek[dNow.getDay()] + " ";
sValue += GetLunarDay(yy, mm, dd)+" ";
sValue += shapetime(h,m,s);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/171648.html
標籤:JavaScript
