预览 标签(空格分隔): 微云
[TOC]
- 点击文件夹
选中:
1单击文件夹选中文件夹(取消其他文件夹选择),单击图片打开图片; 2点击云盘空白地方取消所有选择; 3.多选:Ctrl+鼠标点击 选中多个文件;
- 全选功能键
- 新建文件夹
点击新建文件夹按钮弹出新文件夹并要求输入名字.
--添加成功: 检测名字没有重复,通过==>数据交互; --添加失败:名字重复了,移除元素节点;
- 重命名
- 重命名按钮和直接点击文件名称都能调出重命名.
- 能否重命名?
当选中的是一个文件的时候可以重命名. 没有选中或选择了多个文件重不能重命名.
- 确认重命名
- 鼠标失去焦点或者按回车键,确认重命名.
- 检测新名字是否重复 重复则失败,否则命名成功.
- 删除功能
- 确认:移动到回收站.
- 取消:取消删除.
- 布局转换
文件竖排列,并多了一些文件信息项.
- 搜索功能
搜索本文件目录下的文件 如果找到文件名称变黄色,点击文件名称取消样式
- 菜单功能
1.菜单弹出:
- 鼠标在文件身上调出菜单:
- 弹出:删除、重命名、移动到、复制、粘贴
- 该文件默认被选中,可以进行相关操作
- 当在空白地方调出:
- 弹出:新建、上传(没添加)、粘贴
- 当在回收站调出:
- 弹出:删除、重命名、移动到
- 鼠标在文件身上调出菜单:
2.菜单新增功能:
-
移动到:弹出移动位置选择框 + 判断能否移动: -失败: 移动到 本目录、自身子目录
-
复制:复制当前文件选中的文件
-
粘贴:粘贴到当前文件夹
-
小细节: 1.移动和粘贴重名问题:
- 弹出选择框
- 选择框内容: a.有几个文件重名了,分别是哪些 b.可以分别对文件进行不同操作(覆盖、新建副本、忽略) c.确定操作、或取消移动
2.副本名字规则: + 一个文件副本 :文件1(1),文件1(2),文件1(3); + 如果删除文件1(2),下次覆盖 出来的还是文件1(2); + 如果用户本身建立了文件1(4),那么下次覆盖自动建立的副本则是文件1(4);
9.其他功能:
* 鼠标画框可以选中文件
* 拖动文件
- 拖动一个或者多个,可直接拖进文件夹内
- 拖动到目录,可自动打开目录,松手则移动到该文件内
* 回收站:
- 删除:直接删除数据;
- 移动:可还原文件;
- 清空回收站:回收站 所有文件清除
##小总结
###问题:
1.移动判断 是否移动到自己子集 只能循环递归?
>点击的时候先将拿到的id push到数组里面 然后循环那个数组也可以
2.新建副本名字规则怎么做更好? >找到要覆盖的文件,在文件后面加(1)。 循环当前目录,如果重名了(1+1)。 递归循环,直到没有重复。 ###注意: 1.变量挂载 到自身属性上 2.尽可能少的全局变量 3.选中的时候先push到一个数组里面 确定删除 重名命的时候才与数据交互 4.事件管理:
a.分析好事件确切是什么时候发生的,是down还是up,不要全都写click b.动作完成,清除相关事件,例如画框时,鼠标抬起后,清除mouseup,mousemove c.尽量用Dom2级事件
5.代码函数化:
把一些需要实现的功能划分成一个个函数
###难点:
//生成目录结构 //如何对数据复制(深拷贝) //移动和粘贴如何 找到重复项 并且 整理添加到弹出框内 //删除数据函数 //根据class找父级的递归 //新建副本起名规则 //自定义的确认框基本做不到阻塞代码的运行
###比较烦:
//在不同位置 生成不同的菜单 //当移动或者复制 名字重复的时候 弹出所有重复项的处理框