
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML5拖放API之图片相框效果</title>
<!-- <link rel="stylesheet" href="css/photoframe.css"> -->
<style type="text/css">
#container {
margin: 30px auto;
width: 900px;
height: 500px;
border: black 4px solid;
}
img {
margin-top: 40px;
width: 135px;
height: 105px;
}
div.photoframe {
text-align: center;
float: left;
width: 200px;
height: 250px;
margin: 10px;
background: url(image/photoframe.jpg) no-repeat;
background-size: 100%;
}
p {
text-align: center;
margin-top: 30px;
}
</style>
</head>
<body>
<h3>HTML5拖放API之图片相框效果</h3>
<hr />
<h4>往方框内拖放图片</h4>
<div id="container">
<div class="photoframe">
<img src="image/star.jpg">
<p>1.PNG (image/png)<br>
大小:9769字节<br>
修改时间:2019/8/9 <br>下午11:41:02</p>
</div>
<script type="text/javascript">
var container = document.getElementById("container");
container.ondragover = function(ev) {
ev.preventDefault();
}
container.ondrop = function(e) {
e.preventDefault();
var file = e.dataTransfer.files;
for (var i = 0, f; f = file[i++];) {
var imgURL = window.URL.createObjectURL(f);
var img = document.createElement("img");
img.src = imgURL;
var photoframe = document.createElement("div")
photoframe.className = "photoframe";
photoframe.appendChild(img);
container.appendChild(photoframe);
var status = document.createElement("p");
var lastModifiedDate=f.lastModifiedDate;
var date=lastModifiedDate.toLocaleDateString();
var time=lastModifiedDate.toLocaleTimeString();
status.innerHTML = f.name+"("+f.type+")"+"<br>大小:"+f.size+"字节<br>修改时间:"+date+"<br>"+time;
photoframe.appendChild(status);
console.log(f)
console.log(imgURL)
console.log(date)
console.log(time)
}
}
</script>
</body>
</html>
<!--
1.源对象不设置ondragatart,在目标对象设置两个事件ondragover、drop
2.ondragover解禁当前元素为可放置被拖拽元素的区域,即清除默认事件
3.drop
3.1解禁当前元素为可放置被拖拽元素的区域,即清除默认事件
3.2只显示一个图片(可不设)即将图图片显示区域清空 <div id="output"></div>
3.3获取从本地拖拽放置的文件对象数组var files = e.dataTransfer.files;
(相当于.ondragstart 中设置var id = ev.dataTransfer.getData("text");取得拖拽数据)
4.使用for循环遍历同时被拖拽并放置到指定区域的所有文件 for (var i = 0,f; f = files[i]; i++)
4.1 获取当前图片文件的URL来源(源对象)
var imgURL = window.webkitURL.createObjectURL(f);
4,2,创建img及其属性,以将图片显示出来(<img src width heigth>)
4,3,创建源对象背景(即相框)
-->
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了