안녕하세요, 나는 자바 스크립트를 가르치려고합니다. 다음은 내 첫 번째 스크립트이므로 "신인"실수가 있다면 나와 함께 감내하십시오. :)첫 번째 스크립트가 작동합니다! - IE와 Safari를 제외한 - 도와주세요
FF와 Chrome에서는 작동하지만 IE 나 Safari에서는 작동하지 않습니다.
JSLint는 for 루프를 처리하지 않습니다.
IE 디버거는 라인 (# 37)에 나에게 잘못된 인수 오류를주고있다 : 나는 barWidth 변수가 숫자가 있음을 확인했습니다
document.getElementById(progBarId).style.width = barWidth + 'px';
.
IE 구문에 Google 인터넷 문제가있어 비어 있습니다.
도움을 주시면 대단히 감사하겠습니다. 감사.
window.onload = upDtProgBars;
function upDtProgBars() {
var allTags = document.getElementsByTagName("div");
for (var i = 0; i < allTags.length; i++) {
if (allTags[i].className.indexOf("progBar") > -1) {
progBarId = setProgBarWidth(allTags[i].id);
}
// END if
}
// END for loop
function setProgBarWidth(progBarId) {
var today = new Date();
var startDate;
var numWeeks;
var barWidth = 0;
var progBarID = "";
switch (progBarId) {
case "html":
startDate = new Date('5,1,2009')
break;
case "html5":
startDate = new Date()
break;
case "js":
startDate = new Date('1, 1, 2011')
break;
case "csharp":
startDate = new Date('9,3, 2010')
break;
default:
}
// END Switch
if (progBarId != "") {
numWeeks = getNumWeeks(today, startDate);
barWidth = parseInt(numWeeks * 2.76);
document.getElementById(progBarId).style.width = barWidth + 'px';
}
// END if not empty string
}
// END setProgBarWidth
function getNumWeeks(d1, d2) {
var ONE_WEEK = 1000 * 60 * 60 * 24 * 7;
var diffInWeeks = Math.round(Math.abs(d2.getTime() - d1.getTime()))/ONE_WEEK;
return diffInWeeks;
}
// END getNumWeeks
}
// END upDtProgBars
'alert (barWidth)'를 추가하면 어떻게됩니까? – SLaks
왜'progBarID'와'progBarId' 둘 다 가지고 있습니까? –
감사합니다 nikc, 나는 그것을 알아 차리지 못했습니다. – elobdell