国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

HTML5 js實現拖拉上傳文件功能

2024-05-06 16:34:29
字體:
來源:轉載
供稿:網友

在HTML5的pc上面實現了相當多的功能,工作中也用到了拖拉上傳,特地記錄下該功能

在拖動目標上觸發事件 (源元素):

ondragstart - 用戶開始拖動元素時觸發
ondrag - 元素正在拖動時觸發
ondragend - 用戶完成元素拖動后觸發

釋放目標時觸發的事件:

ondragenter - 當被鼠標拖動的對象進入其容器范圍內時觸發此事件
ondragover - 當某被拖動的對象在另一對象容器范圍內拖動時觸發此事件
ondragleave - 當被鼠標拖動的對象離開其容器范圍內時觸發此事件
ondrop - 在一個拖動過程中,釋放鼠標鍵時觸發此事件

上代碼

 

<html lang="en"><head>  <meta charset="UTF-8">  <title>拖拽</title>  <style>    .box{width:800px;height:600px;float:left;}    #box1{background-color:#ccc;}    #box2{background-color:#000;}  </style></head><body>  <div id="box1" class="box"></div>  <div id="box2" class="box"></div>  <img id="img1" src="1.jpg">  <div id="msg"></div></body><script>var box1Div,box2Div,msgDiv,img1; window.onload = function(){  box1Div = document.getElementById('box1');  box2Div = document.getElementById('box2');  msgDiv = document.getElementById('msg');  img1 = document.getElementById('img1');  box1Div.ondragover = function(e){e.preventDefault();}  box2Div.ondragover = function(e){e.preventDefault();}  img1.ondragstart = function(e){e.dataTransfer.setData('imgId','img1');}  box1Div.ondrop = dropImghandler;  box2Div.ondrop = dropImghandler;}function dropImghandler(e){  showObj(e);//獲取拖放所有信息  showObj(e.dataTransfer);//獲取文件  e.preventDefault();  var img = document.getElementById(e.dataTransfer.getData('imgId'));  e.target.appendChild(img);}function showObj(obj){  var s = '';  for(var k in obj){s += k+":"+obj[k]+"<br/>";}  msgDiv.innerHTML = s;}</script></html>

該功能是可以將圖片拖拉到左右兩個div中的方法,我覺得沒啥用,可以當作哈啤
下面是拖拉上傳代碼,后端PHP獲取到$_FILES之后就可以搞起來了

 

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>拖放上傳</title>  <style>    #imgContainer{background:#ccc;width:500px;height:500px;}  </style></head><body>  <div id="imgContainer"></div>  <div id="msg"></div></body><script>var imgContainer,msgDiv;window.onload = function(e){  imgContainer = document.getElementById('imgContainer');  msgDiv = document.getElementById('msg');  imgContainer.ondragover = function(e){    e.preventDefault();  }  imgContainer.ondrop = function(e){    e.preventDefault();    var f = e.dataTransfer.files[0];      //這時已經獲取到文件了,具體想要用第幾個文件自己處理,發post請求后端處理就行了!    //下面是圖片獲取到之后顯示在imgContainer中的流程    // var fileReader = new FileReader();    // fileReader.onload=function(){    // imgContainer.innerHTML = "<img src=/""+fileReader.result+"/">"    // }    // fileReader.readAsDataURL(f);    // showObj(e);  //顯示上傳信息    // showObj(e.dataTransfer.files);  }}function showObj(obj){  var s = '';  for(var k in obj){s += k+":"+obj[k]+"<br/>";}  msgDiv.innerHTML = s;}</script></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 于都县| 高平市| 兴和县| 淮南市| 盐山县| 棋牌| 辽中县| 射阳县| 新郑市| 阜城县| 易门县| 博湖县| 玛纳斯县| 武邑县| 富宁县| 渝中区| 花莲市| 富顺县| 安远县| 科技| 泸溪县| 连山| 广丰县| 西和县| 朝阳县| 钟山县| 神木县| 旅游| 新和县| 奈曼旗| 司法| 从化市| 巴彦淖尔市| 甘南县| 中宁县| 镇平县| 阜新| 聊城市| 芷江| 德昌县| 阳春市|