<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5-Drag-Demo by 頑Shi</title>
<style>
#columns{
width: 650px;
height: 650px;
}
.column {
box-sizing: border-box;
height: 200px;
width: 200px;
float: left;
border: 1px solid black;
background-color: green;
margin-right: 5px;
text-align: center;
cursor: move;
}
.column header {
color: black;
text-shadow: #000 0 1px;
box-shadow: 5px;
padding: 5px;
background: red;
border-bottom: 1px solid black;
}
.column.over {
border: 3px dashed #000;
}
</style>
</head>
<body>
<div id="columns">
<div class="column" draggable="true"><header>div1</header></div>
<div class="column" draggable="true"><header>div2</header></div>
<div class="column" draggable="true"><header>div3</header></div>
<div class="column" draggable="true"><header>div4</header></div>
<div class="column" draggable="true"><header>div5</header></div>
<div class="column" draggable="true"><header>div6</header></div>
</div>
</body>
<script>
var columns = document.querySelectorAll('#columns .column');
var dragEl = null;
[].forEach.call(columns,function(column){
column.addEventListener("dragstart",domdrugstart,false);
column.addEventListener('dragenter', domdrugenter, false);
column.addEventListener('dragover', domdrugover, false);
column.addEventListener('dragleave', domdrugleave, false);
column.addEventListener('drop', domdrop, false);
column.addEventListener('dragend', domdrapend, false);
});
function domdrugstart(e) {
e.target.style.opacity = '0.5';
dragEl = this;
e.dataTransfer.effectAllowed = "move";
e.dataTransfer.setData("text/html",this.innerHTML);
}
function domdrugenter(e) {
e.target.classList.add('over');
}
function domdrugover(e) {
if (e.preventDefault) {
e.preventDefault();
}
e.dataTransfer.dropEffect = 'move';
return false;
}
function domdrugleave(e) {
e.target.classList.remove('over');
}
function domdrop(e) {
if (e.stopPropagation) {
e.stopPropagation();
}
if (dragEl != this) {
dragEl.innerHTML = this.innerHTML;
this.innerHTML = e.dataTransfer.getData('text/html');
}
return false;
}
function domdrapend(e) {
[].forEach.call(columns, function (column) {
column.classList.remove('over');
column.style.opacity = '1';
});
}
</script>
</html>
拖拽排序
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來潮售,“玉大人痊项,你說我怎么就攤上這事∷址蹋” “怎么了鞍泉?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)肮帐。 經(jīng)常有香客問我咖驮,道長(zhǎng),這世上最難降的妖魔是什么训枢? 我笑而不...
- 正文 為了忘掉前任托修,我火速辦了婚禮,結(jié)果婚禮上恒界,老公的妹妹穿的比我還像新娘睦刃。我一直安慰自己,他們只是感情好十酣,可當(dāng)我...
- 文/花漫 我一把揭開白布涩拙。 她就那樣靜靜地躺著际长,像睡著了一般。 火紅的嫁衣襯著肌膚如雪兴泥。 梳的紋絲不亂的頭發(fā)上工育,一...
- 文/蒼蘭香墨 我猛地睜開眼骑篙,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蜕提!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起靶端,我...
- 序言:老撾萬榮一對(duì)情侶失蹤谎势,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后杨名,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脏榆,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年台谍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了须喂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站任柜,受9級(jí)特大地震影響卒废,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宙地,卻給世界環(huán)境...
- 文/蒙蒙 一升熊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绸栅,春花似錦、人聲如沸页屠。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至风纠,卻和暖如春况鸣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背竹观。 一陣腳步聲響...
- 正文 我出身青樓懂酱,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親誊抛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子列牺,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 將 MeiqiaSDK-Android[https://github.com/Meiqia/MeiqiaSDK-A...
- 從文章標(biāo)題就能看出是一個(gè)專門做圖片上傳的插件,拖拽排序借鑒了網(wǎng)上的一個(gè)方法宾毒,融合到了本插件中驼修,提供了一個(gè)專門捕捉圖...