WEB开发网
开发学院网页设计JavaScript 仿163网盘无刷新文件上传系统 阅读

仿163网盘无刷新文件上传系统

 2010-09-14 13:25:05 来源:WEB开发网   
核心提示: 这样判断显然是不够的,所以如果要做文件类型判断的话一定要在后台用ContentType再判断一次,仿163网盘无刷新文件上传系统(6),最后如果没有通过检测就会执行onFail函数:!bCheck && this.onFail(file);我在onFail函数中设定了移除没有通过检测的fi

这样判断显然是不够的,所以如果要做文件类型判断的话一定要在后台用ContentType再判断一次。

最后如果没有通过检测就会执行onFail函数:

!bCheck && this.onFail(file);

我在onFail函数中设定了移除没有通过检测的file控件:

onFail: function(file){ this.Folder.removeChild(file); }

这样就基本实现(正确的说是模拟)了单file控件上传多个文件的效果了。

【文件列表】

在上面的Ini函数中,最后执行了一个附加函数onIni,这个函数是用户自己定义的,我就在这个函数中添加文件列表。

在之前先说说添加文件列表的函数AddList,这个函数是用来把file控件的值列在一个table里面。

函数的参数是一个二维数组,其中第一维是行(tr),第二维是列(td)。

首先获取列表对象FileList,再定义一个文档碎片oFragment来操作dom:

var FileList = $("idFileList"), oFragment = document.createDocumentFragment();

然后用两个Each把二维数组插入到文档碎片中:

Code

Each(rows, function(cells){
  var row = document.createElement("tr");
  Each(cells, function(o){
    var cell = document.createElement("td");
    if(typeof o == "string"){ cell.innerHTML = o; }else{ cell.appendChild(o); }
    row.appendChild(cell);
  });
  oFragment.appendChild(row);
})
其中用了一个判断if(typeof o == "string"),如果是文本就直接用innerHTML插入td,如果不是文本(这里不是文本就是一个对象)就用appendChild插入到td。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:网盘 刷新 文件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接