pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Html5實現(xiàn)如何在兩個div元素之間拖放圖像_html5教程

Html5實現(xiàn)如何在兩個div元素之間拖放圖像_html5教程技巧HTML5中文學習網(wǎng),是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網(wǎng)站、HTML5資訊、HTML5應用、HTML5游戲、
點評:調(diào)用 preventDefault() 來避免瀏覽器對數(shù)據(jù)的默認處理(drop 事件的默認行為是以鏈接形式打開)通過 dataTransfer.getData(Text) 方法獲得被拖的數(shù)據(jù),感興趣的朋友可以參考下哈

原本效果

拖拽之后效果

代碼如下


復制代碼
代碼如下:

[code]
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
#div1, #div2
{float:left; width:100px; height:35px; margin:10px;padding:10px;border:1px solid #aaaaaa;}
</style>
<script type="text/javascript">
function allowDrop(ev)
{
ev.preventDefault();
}
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
</head>
<body>
<img src="http://pic.html5code.net/i/w3school_logo_black.gif" draggable="true" ondragstart="drag(event)" id="drag1" />
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
</div>
<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</body>
</html>

[/code]
它看上去也許有些復雜,不過我們可以分別研究拖放事件的不同部分。

設置元素為可拖放

首先,為了使元素可拖動,把 draggable 屬性設置為 true :

復制代碼
代碼如下:

<img draggable="true" />

拖動什么 - ondragstart 和 setData()

然后,規(guī)定當元素被拖動時,會發(fā)生什么。

在上面的例子中,ondragstart 屬性調(diào)用了一個函數(shù),drag(event),它規(guī)定了被拖動的數(shù)據(jù)。

dataTransfer.setData() 方法設置被拖數(shù)據(jù)的數(shù)據(jù)類型和值:

復制代碼
代碼如下:

function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}

在這個例子中,數(shù)據(jù)類型是 "Text",值是可拖動元素的 id ("drag1")。

放到何處 - ondragover

ondragover 事件規(guī)定在何處放置被拖動的數(shù)據(jù)。

默認地,無法將數(shù)據(jù)/元素放置到其他元素中。如果需要設置允許放置,我們必須阻止對元素的默認處理方式。

這要通過調(diào)用 ondragover 事件的 event.preventDefault() 方法:

復制代碼
代碼如下:

event.preventDefault()

進行放置 - ondrop

當放置被拖數(shù)據(jù)時,會發(fā)生 drop 事件。

在上面的例子中,ondrop 屬性調(diào)用了一個函數(shù),drop(event):

復制代碼
代碼如下:

function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}

代碼解釋:

調(diào)用 preventDefault() 來避免瀏覽器對數(shù)據(jù)的默認處理(drop 事件的默認行為是以鏈接形式打開)通過 dataTransfer.getData("Text") 方法獲得被拖的數(shù)據(jù)。該方法將返回在 setData() 方法中設置為相同類型的任何數(shù)據(jù)。被拖數(shù)據(jù)是被拖元素的 id ("drag1")把被拖元素追加到放置元素(目標元素)中


【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

主站蜘蛛池模板: 低温等离子清洗机(双气路进口)-嘉润万丰 | 【同风运车官网】一站式汽车托运服务平台,验车满意再付款 | 河南15年专业网站建设制作设计,做网站就找郑州启凡网络公司 | 协议书_协议合同格式模板范本大全| 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | LOGO设计_品牌设计_VI设计 - 特创易 | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 美名宝起名网-在线宝宝、公司、起名平台 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 博客-悦享汽车品质生活 | 糖衣机,除尘式糖衣机,全自动糖衣机,泰州市长江制药机械有限公司 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 加中寰球移民官网-美国移民公司,移民机构,移民中介,移民咨询,投资移民 | 香蕉筛|直线|等厚|弧形|振动筛|香蕉筛厂家-洛阳隆中重工 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 广东泵阀展|阀门展-广东国际泵管阀展览会 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 标策网-专注公司商业知识服务、助力企业发展 | 浙江宝泉阀门有限公司 |