以下是引用片段: // JavaScript Document MVC - V //自定义assessmntList对象 //该对象分3种显示状态,下载中;没有成绩单;和成绩列表 //表现层 function assessmentList(cutScore,scoreArray) { this.cutScore = cutScore;//及格分数 this.scoreArray = scoreArray; this.divGuid = Math.random(); //内部方法,注意:使用this.这样的语法可以使方法私有化,成为实例方法,这样就不会出现方法被外部程序误用的事情 this.hideDiv = function (id){ var mydiv = document.getElementById(id); mydiv.style.display = "none"; } this.writeList = function (myArray,cutScore){ var tmparray = myArray; tmparray.sort(); for(var i in tmparray){ this.addAssementItem(String("assessmentDivLists"+this.divGuid),tmparray[i],cutScore); } } this.showDiv = function showDiv(id){ var mydiv = document.getElementById(id); mydiv.style.display = "block"; } this.addAssementItem = function (id,nu,cutScore){ var mydiv = document.getElementById(id); //alert(mydiv.id) mydiv.innerHTML+=this.addAssementItemContent(nu,cutScore); } this.addAssementItemContent = function (nu,cutScore){ var passstr="" if(Number(nu*100)>Number(cutScore)){ passstr="pass" }else{ passstr ="nopass" } var str = "<li class='"+passstr+"'>"; str+=Math.floor(Number(nu)*100); str+="</li>"; //alert(str) return str; } }; var _assessmentList = new assessmentList(); assessmentList.prototype.build = _bulidassessmentList; function _bulidassessmentList() { //构造 document.writeln ("<div id="assessmentDiv"+this.divGuid+"" class="assessmentDiv">< div id="assessmentDivLoad"+this.divGuid+"" class="assessmentDivLoad" > 下载成绩信息...</div><div id="assessmentDivNodata"+this.divGuid+ "" class="assessmentDivNodata">这是你第一次答题。</div><div id= "assessmentDivList"+this.divGuid+"" class="assessmentDivList" onMouseOver ="var mydiv = document.getElementById('assessmentDivLists"+this.divGuid+"'); mydiv.style.display = 'block';" onMouseOut="var mydiv = document.getElementById ('assessmentDivLists"+this.divGuid+"');mydiv.style.display = 'none';" style ="cursor:help">成绩单</div><div id="assessmentDivLists"+ this.divGuid+"" class="assessmentDivLists" ></div></div>"); if(this.scoreArray==null){ this.hideDiv("assessmentDivNodata"+this.divGuid); this.hideDiv("assessmentDivList"+this.divGuid); }else if(this.scoreArray.length==0){ this.hideDiv("assessmentDivLoad"+this.divGuid); this.hideDiv("assessmentDivList"+this.divGuid); }else if(this.scoreArray.length>0){ this.hideDiv("assessmentDivLoad"+this.divGuid); this.hideDiv("assessmentDivNodata"+this.divGuid); this.writeList(this.scoreArray,this.cutScore); } this.hideDiv("assessmentDivLists"+this.divGuid); }; // assessmentList.prototype.bulidAssessmentList = function (myArray,cutScore){ if(myArray==null||myArray==undefined){ }else{ var tmparray = new Array(); tmparray =myArray; tmparray.sort(); for(var i in tmparray){ this.addAssementItem(String("assessmentDivLists"+this.divGuid),tmparray[i],cutScore); } if(myArray.length>0){ this.hideDiv("assessmentDivLoad"+this.divGuid); this.hideDiv("assessmentDivNodata"+this.divGuid); this.showDiv("assessmentDivList"+this.divGuid) }else if(myArray.length==0){ this.hideDiv("assessmentDivList"+this.divGuid); this.hideDiv("assessmentDivLoad"+this.divGuid); this.showDiv("assessmentDivNodata"+this.divGuid) } } } |