Js 按照MVC模式制作自定义控件

2016-01-29 11:29 60 1 收藏

Js 按照MVC模式制作自定义控件,Js 按照MVC模式制作自定义控件

【 tulaoshi.com - Javascript 】

在web开发中常常要使用js,为了提高效率一般都会制作js的类文件。这样在使用中更新复用都很方便。下面按照我工作中的一个案例,介绍如何定义js类文件制作自定义的控件。
一、设计需求
这个需求中,我们要制作一个,从webservice上获取一组学生成绩信息,然后在页面上按照及格与否显示出来。当然还要加上一些简单的互动效果。
按照MVC的设计,我们定义M(数据模型)包括数据连接和数据的分析重组。V表现层,使用document.write的方法写页面。 C容器,控制层。将M与V联系起来。
  
他们分别命名成assessmentList(表现层),assessmentListData(数据层),assessmentListContrl(控制器)。
二、表现层
assessmentList(表现层)。根据我的需求主要有2个参数,1个是成绩的及格线,我们叫cutScore。第二个参数就是表现层的数据源,我们这里定义成一个数组Array,因为方便排序,叫scoreArray。
代码如下:
// 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" [next]
        }else{
            passstr ="nopass"
        }
        var str = "<li class=’"+passstr+"’";
        str+=Math.floor(Number(nu)*100);
        str+="</li";
        //alert(str)
        return str;
    
    }
    
};
var _assessmentList&nbs

来源:https://www.tulaoshi.com/n/20160129/1482471.html

延伸阅读
标签: Web开发
script language=javascript         function openDialogWin()         {             var result = window.showModalDialog("ShowMessage.aspx","","dialogHeight:160px; dialogWidth:300px; status:no; hel...
iPhone勿扰模式自定义怎么设置   iOS7.1成功越狱之后,新系统的操作,还是要有时间的适应过程。在iOS7.1中,在重要的时刻,不想要被人打扰,我们可以对iPhone进行勿扰模式的设置,下面看看具体操作步骤。 1)首先在设置中的勿扰模式点击进去,然后点击进入手动启用。 勿扰模式 2)开启勿扰模式之后,我们可以对勿扰模...
Director怎样制作自定义光标 光标的变化对于多媒体产品开发是个常用的技巧。 在 director 中我们可以自定义以下三种类型: director 的内置光标、位图光标和动画光标。 一、调用 director 内置光标 使用命令 cursor (N 为内置光标序列号, 260 为普通箭头型 ) ,例如: cursor 280 -- 光标将返回手形! 二...
标签: Web开发
如何在DataGrid控件中实现自定义分页      在一般情况下,DataGrid控件每次实现翻页操作时,都会将数据源中的数据重新调用一次,当数据中 数据很多时,这样做就会很浪费系统资源和降低程序的执行效率.这时候我们一般通过自定义分页来解 决这个问题.     DataGrid控件的AllowCustomPaging属性用来...
《死侍》自定义键位心得完美自定义键位 方式1: Q作为传送反击键,鼠标左键轻击,右键重击,中键开枪,E键瞄准放大,R重装和互动,ZXC分别对应键盘的轻枪重,其他不变。 鼠标左键轻击,右键重击,中键开枪,这个几乎没什么可说的。 ZXC的定义是不想占用其他键位,再就是方便看刚开始了解连招,也比较形象和对称,有时还可以用来释放动...

经验教程

461

收藏

36
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部