Javascript & DHTML上傳文件控件第1/4頁(yè)
上章基本上把要交代的基本知識(shí)都說(shuō)了一些,今天終于開(kāi)始寫(xiě)代碼了:D
首先來(lái)做一個(gè)實(shí)例,批量上傳的UI控件。以后一般做的示例也是以UI控件為主的。都是封裝成Object或者用Function封裝成"Class"類。
也許對(duì)于單單看前幾章的朋友來(lái)說(shuō)這個(gè)例子過(guò)于深?yuàn)W了,但是不用擔(dān)心,一步步來(lái)解釋?xiě)?yīng)該很快理解的,關(guān)鍵是理解怎么做,而不是怎么寫(xiě)。
首先看一個(gè)成品截圖預(yù)覽:
一、接下來(lái)我們先說(shuō)思路,首先定義一個(gè)upload"類",
一)、這個(gè)類的公共訪問(wèn)信息應(yīng)該有:
1、構(gòu)造函數(shù)中要傳遞一些必要的參數(shù),比如,在哪個(gè)容器構(gòu)造upload的信息。
2、必須有一個(gè)add()方法,用于添加一個(gè)upload
3、必須有一個(gè)remove()方法,用于刪除一個(gè)upload
二)、這個(gè)類中應(yīng)該有一些必要的信息,是生成實(shí)例本身所具有的信息,(upload對(duì)象的一些信息)。
1、得到一共多少個(gè)upload信息,
2、一個(gè)容器對(duì)象,這個(gè)對(duì)象也是從構(gòu)造函數(shù)中傳遞。
整個(gè)圖可以簡(jiǎn)單的表示為
二、我想我們?cè)撓胂霊?yīng)該用到哪些知識(shí),哪些是熟悉的,哪些是未知的。
一)、正如我們上面預(yù)覽圖所見(jiàn)到的,需要三個(gè)或以上的新控件。(添加,刪除,還有一個(gè)file控件,也或者還有其它的...但至少眼睛見(jiàn)到的就這么多了),既然是新的信息,就會(huì)可能用到document.createElement,要添加進(jìn)一個(gè)容器里就可能用到object.appendChild(obj)或者obj.insertBefore()方法。刪除也就是obj.parentNode.removeChild(obj)。這些上一章都已經(jīng)說(shuō)過(guò)了。
二)、既然是控件,肯定得用function或者是一個(gè)對(duì)象(object)封裝起來(lái),對(duì)這部分知識(shí),第一章已經(jīng)簡(jiǎn)單的說(shuō)明了
三)、如何組織呢?在上面的思路中也已經(jīng)有了文字和圖示
接下來(lái)就動(dòng)手寫(xiě):
一)、構(gòu)造函數(shù),以及基本的代碼(偽代碼)
<script>
function upload(target/*容器*/
)
{
this._cnt = 0; /*計(jì)數(shù)器*/
this.target = document.getElementById(target);
};
upload.prototype.add = function () {
/*
*生成一個(gè) file
*生成一個(gè) 添加
*生成一個(gè) 刪除
*計(jì)數(shù)器+1
*/
};
upload.prototype.remove = function () {
/*
*刪除一個(gè) file
*刪除一個(gè) 添加
*刪除一個(gè) 刪除
*/
};
</script>
相關(guān)文章
js實(shí)現(xiàn)數(shù)組和對(duì)象的深淺拷貝
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)數(shù)組和對(duì)象的深淺拷貝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09Javascript的promise,async和await的區(qū)別詳解
這篇文章主要為大家詳細(xì)介紹了Javascript的promise,async和await的區(qū)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03JavaScript閉包和作用域鏈的定義實(shí)現(xiàn)
這篇文章主要為大家介紹了JavaScript閉包和作用域鏈的定義與實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05javascript 玩轉(zhuǎn)Date對(duì)象(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇javascript 玩轉(zhuǎn)Date對(duì)象(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07JavaScript算法學(xué)習(xí)之冒泡排序和選擇排序
這篇文章主要給大家介紹了關(guān)于JavaScript算法學(xué)習(xí)之冒泡排序和選擇排序的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11JavaScript判斷textarea值是否為空并給出相應(yīng)提示
假如用戶沒(méi)有輸入數(shù)據(jù)則給出相應(yīng)提示,那么該如何來(lái)判斷呢?下面以判斷textarea值是否為空為例2014-09-09使用js判斷數(shù)組中是否包含某一元素(類似于php中的in_array())
這篇文章主要是對(duì)使用js判斷數(shù)組中是否包含某一元素(類似于php中的in_array())需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12