,首先要判斷拖入的文件是否符合要求,包括圖片類型、大小等,然后獲取本地圖片信息,實現(xiàn)預(yù)覽,最后上傳。

創(chuàng)新互聯(lián)服務(wù)項目包括廣河網(wǎng)站建設(shè)、廣河網(wǎng)站制作、廣河網(wǎng)頁制作以及廣河網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,廣河網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到廣河省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
$(function(){
...接上部分
var box = document.getElementById('drop_area'); //拖拽區(qū)域
box.addEventListener("drop",function(e){
e.preventDefault(); //取消默認(rèn)瀏覽器拖拽效果
var fileList = e.dataTransfer.files; //獲取文件對象
//檢測是否是拖拽文件到頁面的操作
if(fileList.length == 0){
return false;
}
//檢測文件是不是圖片
if(fileList[0].type.indexOf('image') === -1){
alert("您拖的不是圖片!");
return false;
}
//拖拉圖片到瀏覽器,可以實現(xiàn)預(yù)覽功能
var img = window.webkitURL.createObjectURL(fileList[0]);
var filename = fileList[0].name; //圖片名稱
var filesize = Math.floor((fileList[0].size)/1024);
if(filesize500){
alert("上傳大小不能超過500K.");
return false;
}
var str = "img src='"+img+"'p圖片名稱:"+filename+"/pp大小:"+filesize+"KB/p";
$("#preview").html(str);
//上傳
xhr = new XMLHttpRequest();
xhr.open("post", "upload.php", true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
var fd = new FormData();
fd.append('mypic', fileList[0]);
xhr.send(fd);
},false);
});
HTML5 的新屬性 drag 可以實現(xiàn)這個效果
如果想出現(xiàn)拖動的動畫效果 就用 JS 的 onmousedown 和 onmousemove 來實現(xiàn)
1、不自定義進(jìn)度條的話就只能用默認(rèn)進(jìn)度條,默認(rèn)的進(jìn)度條是集合在video標(biāo)簽中的,這個我們無法實現(xiàn)不能拖動,但是可以模擬下,你可以使用讓鼠標(biāo)點擊到視頻所在的video或者div的時候無效化,原理就是鼠標(biāo)選不到進(jìn)度條,自然不能拖動了。如果你是要可以控制播放和暫停的話就實現(xiàn)js控制,反正是跳過video自帶的控制器自己去寫。2、用個透明的層或圖片把進(jìn)度條蓋住
html5 拖動效果在手機(jī)上實現(xiàn)方法是調(diào)用drag和drop一系列函數(shù)實現(xiàn)的。
注意:拖拽源在拖拽操作結(jié)束將得到dragend事件對象,不管操作成功與否。
舉例:
定義可拖放內(nèi)容
div id="columns"
div class="column" draggable="true"headerA/header/div
div class="column" draggable="true"headerB/header/div
div class="column" draggable="true"headerC/header/div
/div
2、監(jiān)聽拖動事件
可附加大量不同事件以監(jiān)聽整個拖放過程:
dragstart
drag
dragenter
dragleave
dragover
drop
dragend
a.這里是開始拖拽
function handleDragStart(e) {
this.style.opacity = '0.4'; ?// this / e.target is the source node.
}
var cols = document.querySelectorAll('#columns .column');
[].forEach.call(cols, function(col) {
col.addEventListener('dragstart', handleDragStart, false);
});
b.dragenter、dragover?和?dragleave?事件處理程序可用于在拖動過程中提供額外的可視化提示。例如,在拖動期間將鼠標(biāo)懸停在某一列上方時,其邊框可能會變成虛線。這樣,用戶就能知道這些列也是放置的目標(biāo)區(qū)域。
拖放(Drag 和 drop)是 HTML5 標(biāo)準(zhǔn)的組成部分。
瀏覽器支持:Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。
被拖元素,dragElement :
(1)添加事件:ondragstart
(2)添加屬性:dragable
放置元素,dropElement:
1、添加事件:ondargenter , ondragover , ondragleave , ondragend ,ondrop
和mouser劃入劃出一類的事件很類似,字面也很好理解,不贅述了,下面會用例子來說明。
2、頁面上元素間的拖放
下面用個小例子,div間的拖放來展示,各個事件如何被觸發(fā):
系統(tǒng)中選擇的一個或多個文件拖入該div中,files中會存儲拖入文件的信息,然后我們通過file可以得到文件的類型,長度,內(nèi)容然后實現(xiàn)上傳。
3、setDragImage(image, x, y)用于設(shè)置鼠標(biāo)移動過程中隨鼠標(biāo)一起移動的效果圖。必須在dragstart中設(shè)置。
4、types,effectAllowed和dropEffect分別是拖入元素的類型,拖拽過程中鼠標(biāo)顯示的樣式,不過通常可以忽略這幾個屬性,一般用不到。
網(wǎng)站欄目:html5可拖動,HTML5拖動
網(wǎng)頁地址:http://chinadenli.net/article22/dsidcjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、自適應(yīng)網(wǎng)站、品牌網(wǎng)站建設(shè)、域名注冊、企業(yè)建站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)