Javascript & DHTML上传文件控件第1/4页
上章基本上把要交代的基本知识都说了一些,今天终于开始写代码了: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>
相关文章
Javascript的promise,async和await的区别详解
这篇文章主要为大家详细介绍了Javascript的promise,async和await的区别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助2022-03-03JavaScript判断textarea值是否为空并给出相应提示
假如用户没有输入数据则给出相应提示,那么该如何来判断呢?下面以判断textarea值是否为空为例2014-09-09使用js判断数组中是否包含某一元素(类似于php中的in_array())
这篇文章主要是对使用js判断数组中是否包含某一元素(类似于php中的in_array())需要的朋友可以过来参考下,希望对大家有所帮助2013-12-12
最新评论