js實(shí)現(xiàn)圖片拖動(dòng)改變順序附圖
下面以圖片拖動(dòng)為例,用jQuery來實(shí)現(xiàn):頁面上有多個(gè)圖片,把一個(gè)圖片拖動(dòng)到其他兩個(gè)圖片中間,就可以將這個(gè)圖片的位置插入到兩圖之間。
<!DOCTYPE html>
<html>
<head>
<style>
.img-div img {
width:200px;
height:200px;
float: left;
}
.img-div {
float: left;
}
.drop-left,.drop-right {
width: 50px;
height: 200px;
float: left;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
// 正在拖動(dòng)的圖片的父級(jí)DIV
var $srcImgDiv = null;
// 開始拖動(dòng)
$(".img-div img").bind("dragstart", function() {
$srcImgDiv = $(this).parent();
});
// 拖動(dòng)到.drop-left,.drop-right上方時(shí)觸發(fā)的事件
$(".drop-left,.drop-right").bind("dragover", function(event) {
// 必須通過event.preventDefault()來設(shè)置允許拖放
event.preventDefault();
});
// 結(jié)束拖動(dòng)放開鼠標(biāo)的事件
$(".drop-left").bind("drop", function(event) {
event.preventDefault();
if($srcImgDiv[0] != $(this).parent()[0]) {
$(this).parent().before($srcImgDiv);
}
});
$(".drop-right").bind("drop", function(event) {
event.preventDefault();
if($srcImgDiv[0] != $(this).parent()[0]) {
$(this).parent().after($srcImgDiv);
}
});
});
</script>
</head>
<body>
<div class="img-div">
<div class="drop-left"></div>
<img src="http://photos.tuchong.com/38538/f/6864556.jpg" draggable="true">
<div class="drop-right"></div>
</div>
<div class="img-div">
<div class="drop-left"></div>
<img src="http://photos.tuchong.com/349669/f/6695960.jpg" draggable="true">
<div class="drop-right"></div>
</div>
<div class="img-div">
<div class="drop-left"></div>
<img src="http://photos.tuchong.com/349669/f/6683901.jpg" draggable="true">
<div class="drop-right"></div>
</div>
<div class="img-div">
<div class="drop-left"></div>
<img src="http://photos.tuchong.com/349669/f/5121337.jpg" draggable="true">
<div class="drop-right"></div>
</div>
</body>
</html>
dragstart是開始拖動(dòng)元素的事件,dragover是拖動(dòng)到元素上方的事件,drop是拖動(dòng)結(jié)束松開鼠標(biāo)的事件。
draggable="true"表示img元素是可以拖動(dòng)的,不過實(shí)際上img默認(rèn)就是可拖動(dòng)的,所以這個(gè)屬性也可以去掉,如果要拖動(dòng)div元素那么就需要設(shè)置draggable="true"。
class為drop-left和drop-right的div元素放在圖片的左右側(cè),用于接收其他圖片拖動(dòng)到這個(gè)位置。
- js 鼠標(biāo)拖動(dòng)對(duì)象 可讓任何div實(shí)現(xiàn)拖動(dòng)效果
- javascript 事件處理、鼠標(biāo)拖動(dòng)效果實(shí)現(xiàn)方法詳解
- js實(shí)現(xiàn)可拖動(dòng)DIV的方法
- 比較精簡(jiǎn)的Javascript拖動(dòng)效果函數(shù)代碼
- JS實(shí)現(xiàn)彈出浮動(dòng)窗口(支持鼠標(biāo)拖動(dòng)和關(guān)閉)實(shí)例詳解
- js實(shí)現(xiàn)懸浮窗效果(支持拖動(dòng))
- JS拖動(dòng)鼠標(biāo)畫出方框?qū)崿F(xiàn)鼠標(biāo)選區(qū)的方法
- JS實(shí)現(xiàn)可縮放、拖動(dòng)、關(guān)閉和最小化的浮動(dòng)窗口完整實(shí)例
- 鼠標(biāo)拖動(dòng)動(dòng)態(tài)改變表格的寬度的js腳本 兼容ie/firefox
- JS實(shí)現(xiàn)音量控制拖動(dòng)
相關(guān)文章
根據(jù)輸入郵箱號(hào)跳轉(zhuǎn)到相應(yīng)登錄地址的解決方法
本文分享了基于javascript實(shí)現(xiàn)的根據(jù)輸入郵箱號(hào)跳轉(zhuǎn)到相應(yīng)登錄地址的具體實(shí)例代碼,需要的朋友一起來看下吧2016-12-12
CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法
這篇文章主要介紹了CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法,設(shè)計(jì)javascript操作菜單的彈出與關(guān)閉的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05
JavaScript實(shí)現(xiàn)計(jì)算字符串中出現(xiàn)次數(shù)最多的字符和出現(xiàn)的次數(shù)
這篇文章主要介紹了JavaScript實(shí)現(xiàn)計(jì)算字符串中出現(xiàn)次數(shù)最多的字符和出現(xiàn)的次數(shù),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03
多個(gè)js毫秒倒計(jì)時(shí)同時(shí)進(jìn)行效果
這篇文章主要以實(shí)例的方式講解多個(gè)js毫秒倒計(jì)時(shí)同時(shí)進(jìn)行效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01
JavaScript實(shí)現(xiàn)隨機(jī)替換圖片的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)隨機(jī)替換圖片的方法,涉及javascript中Math.random方法的靈活運(yùn)用,需要的朋友可以參考下2015-04-04
新發(fā)現(xiàn)原來documenet.URL也可以實(shí)現(xiàn)頁面跳轉(zhuǎn)
新發(fā)現(xiàn)原來documenet.URL也可以實(shí)現(xiàn)頁面跳轉(zhuǎn)...2007-08-08
微信小程序swiper禁止用戶手動(dòng)滑動(dòng)代碼實(shí)例
這篇文章主要介紹了微信小程序swiper禁止用戶手動(dòng)滑動(dòng)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
JavaScript實(shí)現(xiàn)消消樂的源代碼
這篇文章主要介紹了JavaScript實(shí)現(xiàn)消消樂-源代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
利用JavaScript編寫Python內(nèi)置函數(shù)查詢工具
Python有豐富的內(nèi)置函數(shù)實(shí)現(xiàn)各種功能,但查詢內(nèi)置函數(shù)時(shí)總是需要百度查,有沒有一個(gè)小工具可以單機(jī)無網(wǎng)絡(luò)查詢Python內(nèi)置函數(shù),方便自己學(xué)習(xí)編寫Python程序呢?本文就來用JavaScript編寫一個(gè)2023-02-02

