成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > HTML5拖拽API經(jīng)典實例詳解

HTML5拖拽API經(jīng)典實例詳解

熱門標(biāo)簽:南寧點撥外呼系統(tǒng)哪家公司做的好 云南大理400電話申請官方 當(dāng)涂高德地圖標(biāo)注 四川點撥外呼系統(tǒng) 黃島區(qū)地圖標(biāo)注 江蘇智能電銷機(jī)器人哪家好 鎮(zhèn)江智能外呼系統(tǒng)有效果嗎 電銷機(jī)器人電話用什么卡 成都智能外呼系統(tǒng)平臺

一、關(guān)于拖拽API

拖拽API是HTML5的新特性,相對于其他新特性來說,重要程度占到6成,實際開發(fā)中使用比例占到3成,學(xué)習(xí)要求個人認(rèn)為是達(dá)到掌握即可的程度。

二、什么是拖拽和釋放?

拖拽:Drag

釋放:Drop

拖拽指的是鼠標(biāo)點擊源對象后一直移動對象不松手,一但松手即釋放了

三、什么是源對象和目標(biāo)對象?

源對象:指的是我們鼠標(biāo)點擊的一個事物,這里可以是一張圖片,一個DIV,一段文本等等。

目標(biāo)對象:指的是我們拖動源對象后移動到一塊區(qū)域,源對象可以進(jìn)入這個區(qū)域,可以在這個區(qū)域上方懸停(未松手),可以釋松手釋放將源對象放置此處(已松手),也可以懸停后離開該區(qū)域。

四、拖拽API的相關(guān)函數(shù)

解釋了什么是源對象和目標(biāo)對象后,回歸前端中的拖拽API,由上面的操作我們可以得出幾個函數(shù)

被拖動的源對象可以觸發(fā)的事件:

(1)ondragstart:源對象開始被拖動

(2)ondrag:源對象被拖動過程中(鼠標(biāo)可能在移動也可能未移動)

(3)ondragend:源對象被拖動結(jié)束

  拖動源對象可以進(jìn)入到上方的目標(biāo)對象可以觸發(fā)的事件:

(1)ondragenter:目標(biāo)對象被源對象拖動著進(jìn)入

(2)ondragover:目標(biāo)對象被源對象拖動著懸停在上方

(3)ondragleave:源對象拖動著離開了目標(biāo)對象

(4)ondrop:源對象拖動著在目標(biāo)對象上方釋放/松手

拖拽API總共就是7個函數(shù)!!

五、如何在拖動的源對象事件和目標(biāo)對象事件間傳遞數(shù)據(jù)

HTML5為所有的拖動相關(guān)事件提供了一個新的屬性:

e.dataTransfer { }          //數(shù)據(jù)傳遞對象

  功能:用于在源對象和目標(biāo)對象的事件間傳遞數(shù)據(jù)

源對象上的事件處理中保存數(shù)據(jù):

e.dataTransfer.setData( k,  v );     //k-v必須都是string類型

目標(biāo)對象上的事件處理中讀取數(shù)據(jù):

var v = e.dataTransfer.getData( k );

示例一:實現(xiàn)一個可以隨著鼠標(biāo)拖動而移動的小飛機(jī)

提示:飛機(jī)需要絕對定位!ondrag事件中獲取鼠標(biāo)的坐標(biāo)值!?。?/p>

代碼如下:

<!DOCTYPE html>  
<html>  
<head lang="en">  
    <meta charset="UTF-8">  
    <title></title>  
    <style>  
        body{  
            margin:0;  
            position: relative;  
        }  
        img{  
            position:absolute;  
        }  
    </style>  
</head>  
<body>  
<h3>隨著鼠標(biāo)拖動而移動的小飛機(jī)</h3>  
<img id="p3" src="img/p3.png" alt=""/>  
<script>  
    p3.ondragstart=function(e){  
        console.log('事件源p3開始拖動');  
        //記錄剛一拖動時,鼠標(biāo)在飛機(jī)上的偏移量  
        offsetX= e.offsetX;  
        offsetY= e.offsetY;  
    }  
    p3.ondrag=function(e){  
        console.log('事件源p3拖動中');  
        var x= e.pageX;  
        var y= e.pageY;  
        console.log(x+'-'+y);  
        //drag事件最后一刻,無法讀取鼠標(biāo)的坐標(biāo),pageX和pageY都變?yōu)?  
        if(x==0 && y==0){  
            return; //不處理拖動最后一刻X和Y都為0的情形  
        }  
        x-=offsetX;  
        y-=offsetY;  
        p3.style.left=x+'px';  
        p3.style.top=y+'px';  
    }  
    p3.ondragend=function(){  
        console.log('源對象p3拖動結(jié)束');  
    }  
</script>  
</body>  
</html>  

效果如下:

示例二:

模擬電腦中 ”垃圾桶“的效果, 總共顯示三個小飛機(jī),拖動著某個小飛機(jī)到垃圾桶上方后,小飛機(jī)從DOM樹上刪除

提示:刪除需要從DOM子節(jié)點中刪除元素,需要阻止ondragover的默認(rèn)行為!!利用源對象和目標(biāo)對象的數(shù)據(jù)傳遞記錄小飛機(jī)的ID值!??!

重要信息:

ondragover有一個默認(rèn)行為!??!那就是當(dāng)ondragover觸發(fā)時,ondrop會失效!?。?!這個可能是瀏覽器的版本問題,需要以后瀏覽器不斷更新可能才會解決?。?/p>

如何阻止?

ondragover= function(e){  //源對象在懸停在目標(biāo)對象上時
  e.preventDefault();  //阻止默認(rèn)行為,使得drop可以觸發(fā)
 .....
}
ondrop= function(e){  //源對象松手釋放在了目標(biāo)對象中
 .....
}

代碼如下:

<!DOCTYPE html>  
<html>  
<head lang="en">  
  <meta charset="UTF-8">  
  <title></title>  
  <style>  
    body {  
      text-align: center;  
    }  
    #trash {  
      opacity: .2;  
      margin: 15px;  
    }  
  </style>  
</head>  
<body>  
  <h3>拖動飛機(jī)到垃圾桶后從DOM樹中刪除子元素</h3>  
  <img id="trash" src="img/trash_full.png">  
  <hr/>  
  <img id="p3" class="src" src="img/p3.png">  
  <img id="p4" class="src" src="img/p4.png">  
  <img id="p5" class="src" src="img/p5.png">  
  <script>  
    //為源對象添加事件監(jiān)聽 —— 記錄拖動了哪一個源對象  
    var srcList = document.querySelectorAll('.src');//找到全部img元素  
    for(var i=0; i<srcList.length; i++){ //遍歷img元素  
      var p = srcList[i];  
      p.ondragstart = function(e){ //開始拖動源對象  
        e.dataTransfer.setData('PlaneID',this.id);//保存數(shù)據(jù)--該img元素的id  
      }  
      p.ondrag = function(){}  
      p.ondragend = function(){}  
    }  
    //為目標(biāo)對象添加事件監(jiān)聽 —— 刪除拖動的源對象  
    trash.ondragenter = function(){ //源對象進(jìn)入目標(biāo)對象  
      console.log('drag enter');  
      trash.style.opacity = "1"; //將透明度變成1  
    }  
    trash.ondragleave= function(){  //源對象離開目標(biāo)對象后  
      console.log('drag leave');  
      trash.style.opacity = ".2"; //將透明度變?yōu)?.2  
    }  
    trash.ondragover= function(e){  //源對象在懸停在目標(biāo)對象上時  
      e.preventDefault();  //阻止默認(rèn)行為,使得drop可以觸發(fā)  
    }  
    trash.ondrop= function(e){ //源對象松手釋放在了目標(biāo)對象中  
      console.log('drop');  
      trash.style.opacity = ".2"; //將透明度變?yōu)?.2  
      //刪除被拖動的源對象  
      var id = e.dataTransfer.getData('PlaneID');//得到數(shù)據(jù)--id值  
      var p = document.getElementById(id); //根據(jù)id值找到相關(guān)的元素  
      p.parentNode.removeChild(p);  //從父元素中刪除子節(jié)點  
    }  
  </script>  
</body>  
</html>  

效果如下:

拖拽小飛機(jī)到垃圾桶刪除后:

如圖,原本三架小飛機(jī),現(xiàn)在變成了兩架?。?!

六、拖拽API的補充知識點?。。ㄖ匾?,面試中也許會問到噢!?。?/strong>

面試題:

如何在網(wǎng)頁中顯示客戶端(電腦)的一張圖片?

如何拖動客戶端的網(wǎng)頁顯示在服務(wù)器端下載的頁面中?

這兩個問題是什么意思呢?

我們平時在電腦中拖拽一張圖片到瀏覽器中實現(xiàn)的下載操作?。?!按照H5之前的標(biāo)準(zhǔn),要實現(xiàn)直接拖拽一張圖片到瀏覽器中顯示是無法完成?。〉亲詮腍5新特性出來之后增加了拖拽API的特性,完美的實現(xiàn)了這一功能!?。?/p>

應(yīng)用場合:

在某網(wǎng)站上,上傳圖片當(dāng)做是頭像

上傳相片...

HTML5新增的文件操作對象:

File: 代表一個文件對象

FileList: 代表一個文件列表對象,類數(shù)組

FileReader:用于從文件中讀取數(shù)據(jù)

FileWriter:用于向文件中寫出數(shù)據(jù)

相關(guān)函數(shù):

div.ondrop = function(e){
var f = e.dataTransfer.files[0];      //找到拖放的文件
var fr = new FileReader();        //創(chuàng)建文件讀取器
fr.readAsURLData(f);         //讀取文件內(nèi)容
fr.onload = function(){       //讀取完成
img.src = fr.result;        //使用讀取到的數(shù)據(jù)
}
 }

代碼如下:

<span style="font-size: 18px;"><!DOCTYPE html>  
<html>  
<head lang="en">  
  <meta charset="UTF-8">  
  <title></title>  
  <style>  
    #container {  
      border: 1px solid #aaa;  
      border-radius: 3px;  
      padding: 10px;  
      margin: 10px;  
      min-height: 400px;  
    }  
  </style>  
</head>  
<body>  
  <h1>拖放API的擴(kuò)展知識</h1>  
  <h3>請拖動您的照片到下方方框區(qū)域</h3>  
  <div id="container"></div>  
  <script>  
    //監(jiān)聽document的drop事件——取消其默認(rèn)行為:在新窗口中打開圖片  
    document.ondragover = function(e){  
      e.preventDefault(); //使得drop事件可以觸發(fā)  
    }  
    document.ondrop = function(e){  
      e.preventDefault(); //阻止在新窗口中打開圖片,否則仍然會執(zhí)行下載操作?。?!  
    }  
    //監(jiān)聽div#container的drop事件,設(shè)法讀取到釋放的圖片數(shù)據(jù),顯示出來  
    container.ondragover = function(e){  
      e.preventDefault();  
    }  
    container.ondrop = function(e){  
      console.log('客戶端拖動著一張圖片釋放了...')  
      //當(dāng)前的目標(biāo)對象讀取拖放源對象存儲的數(shù)據(jù)  
      //console.log(e.dataTransfer); //顯示有問題  
      //console.log(e.dataTransfer.files.length); //拖進(jìn)來的圖片的數(shù)量  
      var f0 = e.dataTransfer.files[0];  
      //console.log(f0); //文件對象 File  
      //從文件對象中讀取數(shù)據(jù)  
      var fr = new FileReader();  
      //fr.readAsText(f0); //從文件中讀取文本字符串  
      fr.readAsDataURL(f0); //從文件中讀取URL數(shù)據(jù)  
      fr.onload = function(){  
        console.log('讀取文件完成')  
        console.log(fr.result);  
        var img = new Image();  
        img.src = fr.result; //URL數(shù)據(jù)  
        container.appendChild(img);  
      }  
    }  
  </script>  
</body>  
</html></span>  

效果如下:

總結(jié)

以上所述是小編給大家介紹的HTML5拖拽API經(jīng)典實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標(biāo)簽:十堰 西寧 南京 酒泉 咸寧 淮安 廣西 佳木斯

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5拖拽API經(jīng)典實例詳解》,本文關(guān)鍵詞  HTML5,拖拽,API,經(jīng)典,實例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5拖拽API經(jīng)典實例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTML5拖拽API經(jīng)典實例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日韩欧美国产二区| 欧美床上激情在线观看| 欧美三区在线观看| 精品欧美午夜寂寞影院| 性久久久久久久久久久久久久| 一本一道久久a久久精品逆3p| 在线一区视频观看| 久久国产精品久久精品| 免费午夜视频在线观看| 99久久综合狠狠综合久久| 欧美下载看逼逼| 色吊一区二区三区| 99re热久久这里只有精品34| 女人体1963| 色欧美乱欧美15图片| 最新亚洲视频| 成人视屏在线观看| 99精品黄色片免费大全| 奇米网人体黄视频| 免费黄色在线视频网站| 欧美性感美女一区二区| 久久精品久久99精品久久| free性欧美hd另类精品| 欧美成人三级在线播放| freesex欧美| 日本高清在线观看| 日本黄视频网站| 久蕉依人在线视频| 日本成人在线不卡视频| 欧美日韩一区二区三区在线播放| 久久久久久日产精品| 国产日产欧美一区| 日韩亚洲欧美综合| 中文字幕五月天| 亚洲欧美日韩精品永久在线| 中文无码日韩欧| 日韩精品中文字幕视频在线| 国产宾馆自拍| 中文幕一区二区三区久久蜜桃| 国产麻豆午夜三级精品| 91视频.com| 欧美精品一卡二卡| 成人免费毛片app| 色94色欧美sute亚洲线路一ni| 国产成人在线免费观看视频| 中文字幕精品久久久久| 波多野结衣一区二区三区免费视频| 日韩精品你懂的| av在线不卡一区| 精品精品精品| jizzjizzji欧美| 啦啦啦啦免费高清视频在线观看1| 色一情一交一乱一区二区三区| 欧美日本韩国一区二区三区| 欧美freesex| 国产成人激情小视频| 久久国产成人午夜av影院宅| 久久久久久国产精品一区| 一本一道综合狠狠老| 日韩 欧美 自拍| 91cn在线观看| 99麻豆久久久国产精品免费| 亚洲国产一二三区| 亚洲精品aⅴ中文字幕乱码| 国产精品国产馆在线真实露脸| 99色这里只有精品| 亚洲精选一区二区| 欧美整片在线观看| 久久视频中文字幕| 日韩成人xxxx| 先锋在线资源一区二区三区| 男人av资源站| 欧美黄色免费视频| 欧美无砖专区一中文字| av基地在线| 日韩在线视频观看免费| 欧美日韩亚洲一区二区| 日韩免费av一区| 国产区一区二| 亚洲午夜精品久久久中文影院av| 日本xxxx高清色视频| 精品日韩欧美在线| 中文字幕在线字幕中文| 青青草视频在线免费播放| 欧美精品一区二区在线播放| 欧美日韩在线电影| 久久国产日韩欧美| 黄色录像免费观看| 日本中文字幕电影在线免费观看| 白白色亚洲国产精品| 美女视频黄久久| 一本一生久久a久久精品综合蜜| 国产97在线视频| 日本中文字幕伦在线观看| 午夜视频福利在线观看| 6080午夜| 国产乱码精品一区二区三区卡| 69精品久久久| 福利在线导航136| 中文字幕一区二区三区免费视频| 欧美肥臀大乳一区二区免费视频| 精品福利樱桃av导航| 国产免费亚洲高清| 东京热加勒比无码少妇| 国产电影一区二区三区爱妃记| 国产裸体写真av一区二区| 99色在线视频| 一区精品在线观看| crdy在线观看欧美| 特级西西www444人体聚色| 亚州国产精品视频| 希岛爱理一区二区三区| 亚洲制服欧美中文字幕中文字幕| 日韩亚洲一区在线播放| 日韩少妇与小伙激情| 色哟哟一区二区在线观看| 亚洲女性喷水在线观看一区| 宅男深夜国产| 亚洲欧美小说国产图片| 中文日韩在线| 国产欧美精品一区二区三区-老狼| 日韩三级在线| 亚洲欧美激情精品一区二区| 国产高清中文字幕| 久久性感美女视频| 亚洲丝袜另类动漫二区| 亚洲一区二区三区四区中文字幕| 日本一级黄视频| 欧美亚洲人成在线| 香蕉视频在线观看网站| 在线不卡一区二区三区| 日本精品视频网站| 青青草偷拍视频| 精品国产免费观看| 日韩女同互慰一区二区| 国产主播一区二区三区四区| 国产午夜麻豆影院在线观看| 少妇bbbb搡bbbb| 国产欧美一区二区精品仙草咪| 激情婷婷久久| 中文字幕乱码亚洲精品一区| 99视频资源网| 日韩视频在线视频| 亚洲福利视频在线| 日韩精品一级中文字幕精品视频免费观看| wwww在线观看免费视频| 一区二区视频| www.四虎影视.com| 中文字幕日本在线观看| 亚洲黄色小视频在线观看| 亚洲国产精品va在线观看黑人| 国产精品视频久久久久| 俄罗斯男人又粗又大| 国产精品久久久久高潮| 国产精品成人av在线| 国产精品678| 无人区在线高清完整免费版 一区二| 亚洲精品乱码久久久久久蜜桃欧美| 国产精品伊人| 欧美激情成人网| 国产porny蝌蚪视频| 亚洲天堂av在线播放| 成人中文字幕视频| h免费在线观看| 中文日产幕无线码一区二区| 97国产一区二区| 欧美中文字幕第一页| 最新91在线| 国产精品一区毛片| 亚洲免费小视频| 天堂在线观看视频观看www| 精品久久久精品| 九九九在线观看| 久久久午夜视频| 亚洲日本va| 成全电影大全在线观看| 国产私人尤物无码不卡| 99免费视频观看| 日韩av不卡在线观看| 136国产福利精品导航| 欧美疯狂爱爱xxxxbbbb| 一区二区三区在线电影| 日本精品在线| 国产成人精品一区二区| 国产成人亚洲综合a∨猫咪| 亚洲高清免费视频| 亚洲国产精品二区| 亚洲美女在线视频| 中文字幕在线直播| 2025韩国理伦片在线观看| 成人网18免费看| 91系列在线观看| 一区二区在线观看网站| 色先锋av资源中文字幕| 久久久久久久久久久久久久一区| 日韩一区二区在线免费| 免费黄色一级网站| 午夜老司机在线观看| 欧美日本一区二区在线观看| 日韩激情在线视频| 亚洲男人的天堂在线视频| 国产写真视频在线观看| 午夜精品久久久久久久爽| 色婷婷久久综合中文久久蜜桃av| 无套内谢的新婚少妇国语播放| 国产精品爽黄69| 久久中文精品| 男女激烈动态图| 又色又爽又黄18网站| 久久久久麻豆v国产精华液好用吗| 国产福利在线| 国产精品超碰| 久久99精品久久久久| 亚洲乱码日产精品bd| 国产精品无码专区av在线播放| 日韩欧美一区二区三区| 亚洲欧美日韩国产成人精品影院| 国产在线高清视频| 午夜国产精品影院在线观看| 国产精品亚洲视频| 一二三中文字幕在线| 欧美三级免费观看| 亚洲欧美另类综合偷拍| 欧美美女福利视频| 国产精品入口日韩视频大尺度| 日韩国产一区久久| 国产精品扒开腿做爽爽爽视频软件| sese视频| 一区二区在线观看视频| 国产精品人成在线观看免费| 久久久国产精品不卡| 欧美一区二区三区激情视频| 国产一区二区三区视频在线观看| 欧美精品 - 色网| 亚洲黄网站在线观看| 国产精品无码2021在线观看| 中文字幕一区二区三中文字幕| 欧美一区二区免费在线观看| 精品日韩在线观看| 亚洲精品无码专区| 国产三区在线视频| 精品乱子伦一区二区| 97国产成人无码精品久久久| av在线电影免费观看| 中日韩午夜理伦电影免费| 初高中福利视频网站| 久久香蕉国产线看观看网| 91porny在线| 日本一区二区三级电影在线观看| 欧美酷刑日本凌虐凌虐| 国产脚交av在线一区二区| 久久这里只有精品一区二区| 亚洲精品国产一区二| 中文字幕中文字幕一区二区| 久久久久久久久99| 日本在线播放| 欧美另类一区二区| 不卡在线观看av| 国产精品三级在线观看无码| 99久久精品久久久久久ai换脸| 午夜欧美福利视频| 成人一区二区免费视频| free性欧美hd另类精品| 精品国产凹凸成av人导航| 国产精品 欧美 日韩| 久久99导航| 蜜臀av粉嫩av懂色av| 亚洲国产欧美自拍| 国产一区二区三区视频在线播放| 亚洲精品国产一区二区三区四区在线| 欧美热在线视频精品999| 欧美残忍xxxx极端| jizzjizzjizz亚洲日本| 欧美日韩国产天堂| 日韩在线视频线视频免费网站| 亚洲国产欧美91| 拍真实国产伦偷精品| 久久人人97超碰人人澡爱香蕉| 亚洲福利一区二区三区| 精品欧美一区二区三区精品久久| 91超薄丝袜肉丝一区二区| 国产手机视频精品| 国内揄拍国内精品久久| 浮妇高潮喷白浆视频| 婷婷综合久久| 亚洲日本一区二区三区在线观看| 综合伊人久久| 六月丁香婷婷色狠狠久久| 色婷婷狠狠综合| 国产香蕉成人综合精品视频| 在线播放一区二区精品视频| 俺去俺来也在线www色官网| 久久久久久一区二区三区四区别墅| 综合久久十次| 午夜视频在线观看一区二区| 久久这里只有精品视频首页| 99久久精品国产毛片| 欧美日韩在线电影| ckplayer中文字幕| 欧美黑人一级片| 99久久婷婷国产综合精品电影| 唐人社导航福利精品| 国内一区二区在线| 色噜噜偷拍精品综合在线| 国产精品久久久久一区二区三区厕所| 日韩高清在线不卡| 日韩电影在线观看一区二区| 中文字幕久热精品视频免费| 一区二区免费看| 免费在线不卡av| 欧美亚洲丝袜传媒另类| 高清成人av| 日韩一区二区三区高清在线观看| 国产片高清在线观看| 亚洲第一视频网站| www婷婷av久久久影片| aaaaa级少妇高潮大片免费看| 人妻精品一区二区三区| 色三级在线观看| 色视频免费在线| 在线一区二区日韩| chinesegaysextube| 亚洲电影在线一区二区三区| 亚洲爆乳无码精品aaa片蜜桃| 网站黄在线观看| 后进极品白嫩翘臀在线播放| 一区不卡字幕| 欧美日韩ab片|