上章基本上把要交代的基本知識都說了一些,今天終於開始寫代碼了:D
首先來做一個執行個體,批量上傳的UI控制項。以後一般做的樣本也是以UI控制項為主的。都是封裝成Object或者用Function封裝成"Class"類。
也許對於單單看前幾章的朋友來說這個例子過於深奧了,但是不用擔心,一步步來解釋應該很快理解的,關鍵是理解怎麼做,而不是怎麼寫。
首先看一個成品預覽:
一、接下來我們先說思路,首先定義一個upload"類",
一)、這個類的公用訪問資訊應該有:
1、建構函式中要傳遞一些必要的參數,比如,在哪個容器構造upload的資訊。
2、必須有一個add()方法,用於添加一個upload
3、必須有一個remove()方法,用於刪除一個upload
二)、這個類中應該有一些必要的資訊,是產生執行個體本身所具有的資訊,(upload對象的一些資訊)。
1、得到一共多少個upload資訊,
2、一個容器物件,這個對象也是從建構函式中傳遞。
整個圖可以簡單的表示為
二、我想我們該想想應該用到哪些知識,哪些是熟悉的,哪些是未知的。
一)、正如我們上面預覽圖所見到的,需要三個或以上的新控制項。(添加,刪除,還有一個file控制項,也或者還有其它的...但至少眼睛見到的就這麼多了),既然是新的資訊,就會可能用到document.createElement,要添加進一個容器裡就可能用到object.appendChild(obj)或者obj.insertBefore()方法。刪除也就是obj.parentNode.removeChild(obj)。這些上一章都已經說過了。
二)、既然是控制項,肯定得用function或者是一個對象(object)封裝起來,對這部分知識,第一章已經簡單的說明了
三)、如何組織呢?在上面的思路中也已經有了文字和圖示
接下來就動手寫:
一)、建構函式,以及基本的代碼(虛擬碼)
複製代碼 代碼如下:<script>
function upload(target/*容器*/
)
{
this._cnt = 0; /*計數器*/
this.target = document.getElementById(target);
};
upload.prototype.add = function () {
/*
*產生一個 file
*產生一個 添加
*產生一個 刪除
*計數器+1
*/
};
upload.prototype.remove = function () {
/*
*刪除一個 file
*刪除一個 添加
*刪除一個 刪除
*/
};
</script>