js拖动(一个完整的案例呈现)

举报
陈业贵 发表于 2021/12/14 23:48:09 2021/12/14
【摘要】 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name...
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<style type="text/css">
		*{padding: 0px;margin:0px;}
		#div1
		{
			width: 200px;
			height: 200px;
			background: red;position: absolute;
			left: 50%;top: 50%;margin: -100px 0 0 -100px;
		}
		#div2
		{
			position: absolute;
			bottom: 0;height: 60px;
			background: -moz-linear-gradient(left,red,green);
			width: 0%;
			border: 1px solid red;
		}
	</style>
</head>
<body>
	<div id="div1"></div>
	<div>
		<span>文件名:<span id="textName"></span></span><br>
		<span>大小:<span id="textSize"></span></span>
	</div>
	<adiv id="div2"></adiv>
	<script type="text/javascript">
		div1.ondragenter=function()
		{
			document.body.style.background="yellow";
		};
		div1.ondragleave=function()
		{
			document.body.style.background="white";
		};
		//以上拖动文件到div1中发生的颜色问题.
		var a=0;
		div1.ondragover=function()//拖动文件到目标时触发.
		{
			a++;
			document.title=a;
			return false;
		}
		//以上是title哪里的累加事情.
		div1.ondrop=function(e)//拖动文件到目标时触发.
		{
			var oFile=e.dataTransfer.files[0];
			textName.innerHTML=oFile.name;
			textSize.innerHTML=oFile.size;
			var reader=new FileReader();
			reader.readAsBinaryString(oFile);
			reader.onprogress=function(e)
			{
				div2.style.width=parseInt(e.loaded/e.total*100)+"%";
				if(e.loaded==e.total)
				{
					alert("恭喜你.上传成功了");
					div2.style.width=0;
				}
			}
			return false;
		}
	</script>
</body>
</html>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71

第一部分:
在这里插入图片描述

代表了黄色部分:
在这里插入图片描述

第二部分:

在这里插入图片描述
代表了这下面的图片.
在这里插入图片描述

第三部分:

在这里插入图片描述

代表了下面图片.
在这里插入图片描述
//在进行拖放操作的时候,dataTransfer对象可以用来保存被拖动的数据
//name与size为它内置的属性.

第四部分:

在这里插入图片描述
代表了下面的图片:

在这里插入图片描述

注意一下这里,读取时间/总时间100等于进行了百分之几.
举个例子把。好吧.
一共100秒,刚开始了1秒, 1/100
100=1%.
为什么parseInt因为要转换成整数啊.一秒一秒的,不是0.1之类的啊.

第五部分:
在这里插入图片描述

代表了下面的图片:
在这里插入图片描述

第六部分:

在这里插入图片描述

代表了
第一句是读取文件的对象,第二句是读取文件的方法.(通过二进制的方式来读取)

文章来源: blog.csdn.net,作者:贵哥的编程之路(陈业贵),版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_37805832/article/details/109350746

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。