濮阳杆衣贸易有限公司

主頁 > 知識庫 > HTML5拖拉上傳文件的簡單實例

HTML5拖拉上傳文件的簡單實例

熱門標簽:電話機器人如何 杭州營銷電銷機器人供應商 飛亞外呼系統(tǒng) 貸款電銷人工和機器人哪個好 百應電銷機器人產(chǎn)業(yè) 聯(lián)通400電話申請 高德地圖標注賓館位置 電視購物電銷外呼系統(tǒng) 西寧智能外呼系統(tǒng)加盟

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

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

ondragstart - 用戶開始拖動元素時觸發(fā)

ondrag - 元素正在拖動時觸發(fā)

ondragend - 用戶完成元素拖動后觸發(fā)

釋放目標時觸發(fā)的事件:

ondragenter - 當被鼠標拖動的對象進入其容器范圍內(nèi)時觸發(fā)此事件

ondragover - 當某被拖動的對象在另一對象容器范圍內(nèi)拖動時觸發(fā)此事件

ondragleave - 當被鼠標拖動的對象離開其容器范圍內(nèi)時觸發(fā)此事件

ondrop - 在一個拖動過程中,釋放鼠標鍵時觸發(fā)此事件

上代碼

<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];   
        //這時已經(jīng)獲取到文件了,具體想要用第幾個文件自己處理,發(fā)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>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:邯鄲 安慶 內(nèi)蒙古 晉中 煙臺 牡丹江 玉溪 撫州

巨人網(wǎng)絡通訊聲明:本文標題《HTML5拖拉上傳文件的簡單實例》,本文關(guān)鍵詞  HTML5,拖拉,上傳,文件,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5拖拉上傳文件的簡單實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5拖拉上傳文件的簡單實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    广平县| 保山市| 兴和县| 沅陵县| 竹溪县| 荣昌县| 杭锦后旗| 石泉县| 郎溪县| 海安县| 黎平县| 昌乐县| 横山县| 平遥县| 绍兴市| 大理市| 高平市| 哈尔滨市| 晴隆县| 临潭县| 离岛区| 五家渠市| 温宿县| 海晏县| 阿瓦提县| 靖边县| 叙永县| 德令哈市| 古浪县| 璧山县| 汤原县| 交城县| 平度市| 繁昌县| 紫阳县| 荆门市| 聂荣县| 右玉县| 喀喇沁旗| 汝州市| 平阳县|