JS實(shí)現(xiàn)的自定義網(wǎng)頁拖動(dòng)類
本文實(shí)例講述了JS實(shí)現(xiàn)的自定義網(wǎng)頁拖動(dòng)類。分享給大家供大家參考,具體如下:
先來看運(yùn)行效果截圖如下:
在線演示地址如下:
http://demo.jb51.net/js/2015/js-zdy-web-drug-pic-style-codes/
具體代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>自寫的拖動(dòng)類……</title> <script type="text/javascript"> var d=document;//給document對(duì)象一個(gè)通用的事件偵聽方法 d.addListener=function(e,f,b){ this.attachEvent?this.attachEvent('on'+e,f):this.addEventListener(e,f,b); } d.removeListener=function(e,f,b){ this.detachEvent?this.detachEvent('on'+e,f):this.removeEventListener(e,f,b); } function $(){//接收一個(gè)id參數(shù),返回帶有startDrag方法的對(duì)象 var o=document.getElementById(arguments[0]); o.addListener=function(e,f,b){ this.attachEvent?this.attachEvent('on'+e,f):this.addEventListener(e,f,b); } o.removeListener=function(e,f,b){ this.detachEvent?this.detachEvent('on'+e,f):this.removeEventListener(e,f,b); } o.startDrag=function(obj){//參數(shù)obj默認(rèn)為o本身,可以傳其它參數(shù)以確定要移動(dòng)的對(duì)象 var obj=obj?obj:o; var sx,sy; o.style.cursor="move"; o.addListener("mousedown",function(e){ e||event; if(e.button==1||e.button==0){ sx=e.clientX-obj.offsetLeft;sy=e.clientY-obj.offsetTop; d.addListener("mousemove",move,false); d.addListener("mouseup",stopDrag,false); } },false); var stopDrag=function(){ d.removeListener("mousemove",move,false); d.removeListener("mouseup",stopDrag,false); } var move=function(e){ e||event; window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty(); if(e.preventDefault)e.preventDefault();//這兩句便是解決firefox拖動(dòng)問題的. with (obj.style){ position="absolute" left=e.clientX-sx+"px"; top=e.clientY-sy+"px"; } } } return o; } window.onload=function(){$("ok").startDrag($("os"))}//本例中拖動(dòng)ok元素,移動(dòng)其父元素 </script> <style type="text/css"> *{margin:0;padding:0} #ok{width:215px;height:170px;background:url(images/sample1.gif)} #os{width:400px;height:300px;background:#09f;left:300px} #os2{width:400px;height:300px;background:#f90;} </style> </head> <body> <div id="os"><p id="ok"></p></div> <div id="os2"></div> </body> </html>
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS實(shí)現(xiàn)超簡(jiǎn)單的鼠標(biāo)拖動(dòng)效果
- JS響應(yīng)鼠標(biāo)點(diǎn)擊實(shí)現(xiàn)兩個(gè)滑塊區(qū)間拖動(dòng)效果
- JS實(shí)現(xiàn)左右拖動(dòng)改變內(nèi)容顯示區(qū)域大小的方法
- js實(shí)現(xiàn)div拖動(dòng)動(dòng)畫運(yùn)行軌跡效果代碼分享
- avalon js實(shí)現(xiàn)仿微博拖動(dòng)圖片排序
- JS實(shí)現(xiàn)彈出浮動(dòng)窗口(支持鼠標(biāo)拖動(dòng)和關(guān)閉)實(shí)例詳解
- JS實(shí)現(xiàn)動(dòng)態(tài)移動(dòng)層及拖動(dòng)浮層關(guān)閉的方法
- JS實(shí)現(xiàn)可縮放、拖動(dòng)、關(guān)閉和最小化的浮動(dòng)窗口完整實(shí)例
- js用拖動(dòng)滑塊來控制圖片大小的方法
- Js可拖拽放大的層拖動(dòng)特效實(shí)現(xiàn)方法
- JS+CSS實(shí)現(xiàn)可拖動(dòng)的彈出提示框
- js實(shí)現(xiàn)圖片拖動(dòng)改變順序附圖
相關(guān)文章
請(qǐng)求時(shí)token過期自動(dòng)刷新token操作
這篇文章主要介紹了請(qǐng)求時(shí)token過期自動(dòng)刷新token操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09非常漂亮的讓背景如此暗淡(一種彈出提示信息時(shí)頁面背景色調(diào)改變的方法)
非常漂亮的讓背景如此暗淡(一種彈出提示信息時(shí)頁面背景色調(diào)改變的方法)...2007-04-04基于JavaScript實(shí)現(xiàn)移動(dòng)端點(diǎn)擊圖片查看大圖點(diǎn)擊大圖隱藏
最近接了個(gè)項(xiàng)目,項(xiàng)目需求是這樣的,當(dāng)點(diǎn)擊圖片查看圖片,再次點(diǎn)擊大圖被隱藏,在移動(dòng)端用的比較多,因?yàn)橐苿?dòng)端屏幕小,需要查看大圖。具體代碼實(shí)現(xiàn)過程本文給大家介紹,需要的朋友可以參考下2015-11-11關(guān)于JavaScript回調(diào)函數(shù)的深入理解
由于函數(shù)是一等對(duì)象,我們可以把一個(gè)函數(shù)作為參數(shù)傳遞給另一個(gè)函數(shù),然后在那個(gè)函數(shù)內(nèi)執(zhí)行,至也可以被那個(gè)函數(shù)返回,然后再執(zhí)行,這篇文章主要給大家介紹了關(guān)于JavaScript回調(diào)函數(shù)的深入理解,需要的朋友可以參考下2021-06-06javascript模擬評(píng)分控件實(shí)現(xiàn)方法
這篇文章主要介紹了javascript模擬評(píng)分控件實(shí)現(xiàn)方法,涉及javascript操作頁面元素與樣式的相關(guān)技巧,需要的朋友可以參考下2015-05-05網(wǎng)站發(fā)布后Bootstrap框架引用woff字體無法正常顯示的解決方法
這篇文章主要介紹了網(wǎng)站發(fā)布到IIS后Bootstrap框架引用的woff字體無法正常顯示的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11javascript學(xué)習(xí)筆記之函數(shù)定義
本文主要給大家介紹了javascript的一些函數(shù)定義方面的基礎(chǔ)知識(shí),包括函數(shù)聲明式、函數(shù)表達(dá)式、Function 構(gòu)造函數(shù)等,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-06-06