javascript支持firefox,ie7頁(yè)面布局拖拽效果代碼
更新時(shí)間:2007年12月20日 21:48:18 作者:
javascript 拖拽 頁(yè)面拖拽 拖拽效果的頁(yè)面 超級(jí)拖拽 javascript支持firefox,ie7頁(yè)面布局拖拽效果代碼 鼠標(biāo)拖拽
javascript 拖拽JavaScript Google IG Drag Demo,非常棒的拖動(dòng),準(zhǔn)備用于F2Blog新Theme的后臺(tái)模塊設(shè)置,之間的拖
動(dòng)
拖拽效果的頁(yè)面效果演示地址:http://img.jb51.net/online/tuozhuai/google_drag.htm
加強(qiáng)版效果演示地址:http://img.jb51.net/online/tuozhuai/google_drag2.htm
拖拽原理:
關(guān)于拖拽的基礎(chǔ),可以參考這篇文章,講得非常不錯(cuò)。
其實(shí)原理很簡(jiǎn)單,就是把綁定三個(gè)事件:onmousedown , onmousemove , onmouseup。
在鼠標(biāo)點(diǎn)下時(shí)(onmousedown)把元素的坐標(biāo)設(shè)置為鼠標(biāo)的坐標(biāo),并把 position 設(shè)置為絕對(duì)坐標(biāo)。
在鼠標(biāo)移動(dòng)時(shí)(onmousemove)改變?cè)刈鴺?biāo)。
在鼠標(biāo)彈起時(shí)(onmouseup)取消綁定的事件,并做后續(xù)操作。
javascript 拖拽下面是關(guān)于仿 google 個(gè)性化主頁(yè)拖拽效果的一個(gè) Demo (需包含 prototype)。 完整下載包:Google
Drag.rar (19.82 KB ,下載:247次)
總共有四個(gè)文件:
google_drag.html
prototype.js
通用拖拽函數(shù) drag.js
仿 google 個(gè)性化主頁(yè)的拖拽 google_drag.js
google_drag.html 中最后幾行中有個(gè)初始化拖拽函數(shù)
window.onload = function(){initDrag();}
必須寫(xiě)成這樣,如果直接寫(xiě)成
window.onload = initDrag();
這樣會(huì)在 IE 下報(bào)個(gè)錯(cuò)誤:尚未實(shí)現(xiàn)
其他代碼可以直接查看源碼,就幾行注釋。其實(shí)就是用 JavaScript 繪制了 15 個(gè) div,然后設(shè)置它們
class 都為drag_div (后面是通過(guò) className 來(lái)判斷元素是否可拖拽),然后把可拖拽的部分的 ID 設(shè)置
元素的 ID 后加個(gè) _h(也可設(shè)置自己為拖拽部分)
drag.js 是一個(gè)比較通用的拖拽函數(shù)。里面包含四個(gè)最簡(jiǎn)單的函數(shù):start_Drag, when_Drag, end_Drag,
after_Drag。這四個(gè)函數(shù)只是實(shí)現(xiàn)最基本的拖拽功能,要實(shí)現(xiàn)其他功能可修改或在后面覆蓋掉這些函數(shù)。
google_drag.js 是仿 google 個(gè)性化主頁(yè)拖拽效果的函數(shù)。它覆蓋了上面說(shuō)的那個(gè)四個(gè)函數(shù),實(shí)現(xiàn)比較
高級(jí)的效果。
拖拽其實(shí)應(yīng)該還是比較簡(jiǎn)單的,實(shí)現(xiàn)完拖拽后就是要用 Ajax 來(lái)傳遞拖拽后的位置,改變服務(wù)器端的值,
這樣下次用戶(hù)訪問(wèn)時(shí)元素才會(huì)位置不變。效果的實(shí)現(xiàn)是非常簡(jiǎn)單的,主要是怎么融合到已有的項(xiàng)目中,從
而提高用戶(hù)體驗(yàn)。
這個(gè) Demo 有一部分參考的網(wǎng)上的代碼。
在網(wǎng)上還有很多這種例子,不過(guò)感覺(jué)效率都沒(méi)這個(gè)高。有一些例子是把所有元素的位置都設(shè)置為
absolute,然后直接修改各個(gè)元素的 top 和left來(lái)顯示效果,感覺(jué)那個(gè)不是很通用,那樣的話(huà)比如我要
把這個(gè)效果修改為一個(gè)數(shù)的拖拽,并且記錄各個(gè)元素之間的位置,比較麻煩。這個(gè)例子中要記錄元素的位
置,只需在拖拽完成后記錄被拖拽元素的 id 以及拖拽到了哪個(gè)元素的前面然后傳給服務(wù)器端去修改就可
以了。
Update 2007-01-26 1:22
加了個(gè)加強(qiáng)版的,效果請(qǐng)看 Demo。其實(shí)就是加了個(gè)函數(shù),讓他保證左上方那個(gè)大塊只會(huì)有一個(gè)元素,如
果超過(guò)一個(gè)則把后面的擠到下面的第一列去,如果沒(méi)有元素則從下面的第一列拿出第一個(gè)元素放到左上方
的大塊中,如果下面的第一列沒(méi)有元素,則找第二列,第三列。
動(dòng)
拖拽效果的頁(yè)面效果演示地址:http://img.jb51.net/online/tuozhuai/google_drag.htm
加強(qiáng)版效果演示地址:http://img.jb51.net/online/tuozhuai/google_drag2.htm
拖拽原理:
關(guān)于拖拽的基礎(chǔ),可以參考這篇文章,講得非常不錯(cuò)。
其實(shí)原理很簡(jiǎn)單,就是把綁定三個(gè)事件:onmousedown , onmousemove , onmouseup。
在鼠標(biāo)點(diǎn)下時(shí)(onmousedown)把元素的坐標(biāo)設(shè)置為鼠標(biāo)的坐標(biāo),并把 position 設(shè)置為絕對(duì)坐標(biāo)。
在鼠標(biāo)移動(dòng)時(shí)(onmousemove)改變?cè)刈鴺?biāo)。
在鼠標(biāo)彈起時(shí)(onmouseup)取消綁定的事件,并做后續(xù)操作。
javascript 拖拽下面是關(guān)于仿 google 個(gè)性化主頁(yè)拖拽效果的一個(gè) Demo (需包含 prototype)。 完整下載包:Google
Drag.rar (19.82 KB ,下載:247次)
總共有四個(gè)文件:
google_drag.html
prototype.js
通用拖拽函數(shù) drag.js
仿 google 個(gè)性化主頁(yè)的拖拽 google_drag.js
google_drag.html 中最后幾行中有個(gè)初始化拖拽函數(shù)
window.onload = function(){initDrag();}
必須寫(xiě)成這樣,如果直接寫(xiě)成
window.onload = initDrag();
這樣會(huì)在 IE 下報(bào)個(gè)錯(cuò)誤:尚未實(shí)現(xiàn)
其他代碼可以直接查看源碼,就幾行注釋。其實(shí)就是用 JavaScript 繪制了 15 個(gè) div,然后設(shè)置它們
class 都為drag_div (后面是通過(guò) className 來(lái)判斷元素是否可拖拽),然后把可拖拽的部分的 ID 設(shè)置
元素的 ID 后加個(gè) _h(也可設(shè)置自己為拖拽部分)
drag.js 是一個(gè)比較通用的拖拽函數(shù)。里面包含四個(gè)最簡(jiǎn)單的函數(shù):start_Drag, when_Drag, end_Drag,
after_Drag。這四個(gè)函數(shù)只是實(shí)現(xiàn)最基本的拖拽功能,要實(shí)現(xiàn)其他功能可修改或在后面覆蓋掉這些函數(shù)。
google_drag.js 是仿 google 個(gè)性化主頁(yè)拖拽效果的函數(shù)。它覆蓋了上面說(shuō)的那個(gè)四個(gè)函數(shù),實(shí)現(xiàn)比較
高級(jí)的效果。
拖拽其實(shí)應(yīng)該還是比較簡(jiǎn)單的,實(shí)現(xiàn)完拖拽后就是要用 Ajax 來(lái)傳遞拖拽后的位置,改變服務(wù)器端的值,
這樣下次用戶(hù)訪問(wèn)時(shí)元素才會(huì)位置不變。效果的實(shí)現(xiàn)是非常簡(jiǎn)單的,主要是怎么融合到已有的項(xiàng)目中,從
而提高用戶(hù)體驗(yàn)。
這個(gè) Demo 有一部分參考的網(wǎng)上的代碼。
在網(wǎng)上還有很多這種例子,不過(guò)感覺(jué)效率都沒(méi)這個(gè)高。有一些例子是把所有元素的位置都設(shè)置為
absolute,然后直接修改各個(gè)元素的 top 和left來(lái)顯示效果,感覺(jué)那個(gè)不是很通用,那樣的話(huà)比如我要
把這個(gè)效果修改為一個(gè)數(shù)的拖拽,并且記錄各個(gè)元素之間的位置,比較麻煩。這個(gè)例子中要記錄元素的位
置,只需在拖拽完成后記錄被拖拽元素的 id 以及拖拽到了哪個(gè)元素的前面然后傳給服務(wù)器端去修改就可
以了。
Update 2007-01-26 1:22
加了個(gè)加強(qiáng)版的,效果請(qǐng)看 Demo。其實(shí)就是加了個(gè)函數(shù),讓他保證左上方那個(gè)大塊只會(huì)有一個(gè)元素,如
果超過(guò)一個(gè)則把后面的擠到下面的第一列去,如果沒(méi)有元素則從下面的第一列拿出第一個(gè)元素放到左上方
的大塊中,如果下面的第一列沒(méi)有元素,則找第二列,第三列。
您可能感興趣的文章:
- JavaScript使用面向?qū)ο髮?shí)現(xiàn)的拖拽功能詳解
- JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽功能示例
- JS基于面向?qū)ο髮?shí)現(xiàn)的拖拽庫(kù)實(shí)例
- jquery方法+js一般方法+js面向?qū)ο蠓椒▽?shí)現(xiàn)拖拽效果
- Sortable.js拖拽排序使用方法解析
- js實(shí)現(xiàn)拖拽效果
- javascript實(shí)現(xiàn)移動(dòng)端上的觸屏拖拽功能
- 使用js實(shí)現(xiàn)的簡(jiǎn)單拖拽效果
- js完美的div拖拽實(shí)例代碼
- JS面向?qū)ο缶幊虒?shí)現(xiàn)的拖拽功能案例詳解
相關(guān)文章
javascript實(shí)現(xiàn)秒表計(jì)時(shí)器的制作方法
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)秒表計(jì)時(shí)器的制作方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
開(kāi)源一個(gè)微信小程序儀表盤(pán)組件過(guò)程解析
這篇文章主要介紹了開(kāi)源一個(gè)微信小程序儀表盤(pán)組件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
javascript+iframe 實(shí)現(xiàn)無(wú)刷新載入整頁(yè)的代碼
用iframe也可以實(shí)現(xiàn),但沒(méi)有上述做法完美,參見(jiàn)discuz那些網(wǎng)站,如登陸彈出一個(gè)層,也是載入的一個(gè)頁(yè)面,但我發(fā)現(xiàn)狀態(tài)欄左邊出現(xiàn)的是 正在打開(kāi)about:blank2010-03-03
Element Plus UI 組件庫(kù)中 mt-x 類(lèi)詳解
在ElementPlusUI組件庫(kù)中,mt-x類(lèi)用于設(shè)置元素的外邊距,其中"mt"代表"margin-top",x表示外邊距的大小,這種類(lèi)名的使用可以快速調(diào)整元素的頂部外邊距,簡(jiǎn)化樣式管理,確保設(shè)計(jì)的一致性,本文給大家介紹Element Plus UI 組件庫(kù)中 mt-x 類(lèi)基本知識(shí),感興趣的朋友一起看看吧2024-11-11
javascript 獲取url參數(shù)和script標(biāo)簽中獲取url參數(shù)函數(shù)代碼
不要在方法中調(diào)用方法,否則可能始終獲取的是最后一個(gè)js的文件的參數(shù),要在方法中使用,請(qǐng)先用變量保存,在方法中直接獲取2010-01-01

