javascript 鼠標(biāo)拖動(dòng)圖標(biāo)技術(shù)
更新時(shí)間:2010年02月07日 11:59:40 作者:
剛剛學(xué)習(xí)了個(gè)js的小技術(shù),還蠻好玩的,以后會(huì)把做的一些小例子貼上來,方便自己也可以跟大家一起分享學(xué)習(xí)成果,哈哈~~
這個(gè)例子簡(jiǎn)單講就是鼠標(biāo)拖動(dòng)圖標(biāo)到它任意想去的地方
代碼
<body>
<div id="block" style="width:100px; height:100px; position:relative; background-color:#FF0000";></div>
<script>
var bb = document.getElementById("block");
bb.onmousedown = function(){
//獲取鼠標(biāo)當(dāng)前坐標(biāo)
var pageX = event.clientX;
var pageY = event.clientY;
//獲取block的坐標(biāo),左邊界和上邊界
var offX = parseInt(this.style.left)||0;
var offY = parseInt(this.style.top)||0;
//計(jì)算出鼠標(biāo)坐標(biāo)相對(duì)于block坐標(biāo)的間距
var offLX = pageX-offX;
var offLY = pageY-offY;
if(!document.onmousemove){
document.onmousemove = function(){
bb.style.left=event.clientX-offLX; //設(shè)置block的X坐標(biāo)
bb.style.top=event.clientY-offLY; //設(shè)置block的Y坐標(biāo)
}
}
}
document.onmouseup = function(){document.onmousemove = null;} //鼠標(biāo)彈起
</script>
</body>
代碼
復(fù)制代碼 代碼如下:
<body>
<div id="block" style="width:100px; height:100px; position:relative; background-color:#FF0000";></div>
<script>
var bb = document.getElementById("block");
bb.onmousedown = function(){
//獲取鼠標(biāo)當(dāng)前坐標(biāo)
var pageX = event.clientX;
var pageY = event.clientY;
//獲取block的坐標(biāo),左邊界和上邊界
var offX = parseInt(this.style.left)||0;
var offY = parseInt(this.style.top)||0;
//計(jì)算出鼠標(biāo)坐標(biāo)相對(duì)于block坐標(biāo)的間距
var offLX = pageX-offX;
var offLY = pageY-offY;
if(!document.onmousemove){
document.onmousemove = function(){
bb.style.left=event.clientX-offLX; //設(shè)置block的X坐標(biāo)
bb.style.top=event.clientY-offLY; //設(shè)置block的Y坐標(biāo)
}
}
}
document.onmouseup = function(){document.onmousemove = null;} //鼠標(biāo)彈起
</script>
</body>
您可能感興趣的文章:
- openlayers實(shí)現(xiàn)地圖彈窗
- openlayers實(shí)現(xiàn)地圖測(cè)距測(cè)面
- vue-openlayers實(shí)現(xiàn)地圖坐標(biāo)彈框效果
- JavaScript獲取對(duì)象在頁(yè)面中位置坐標(biāo)的方法
- javascript實(shí)時(shí)獲取鼠標(biāo)坐標(biāo)值并顯示的方法
- javascript獲取當(dāng)前鼠標(biāo)坐標(biāo)的方法
- JavaScript獲取鼠標(biāo)移動(dòng)時(shí)的坐標(biāo)(兼容IE8、chome谷歌、Firefox)
- 基于JavaScript實(shí)現(xiàn) 獲取鼠標(biāo)點(diǎn)擊位置坐標(biāo)的方法
- JavaScript獲取鼠標(biāo)坐標(biāo)的函數(shù)(兼容IE、FireFox、Chrome)
- openlayers實(shí)現(xiàn)圖標(biāo)拖動(dòng)獲取坐標(biāo)
相關(guān)文章
js實(shí)現(xiàn)自動(dòng)播放勻速輪播圖
這篇文章主要介紹了js實(shí)現(xiàn)自動(dòng)播放勻速輪播圖,帶勻速運(yùn)動(dòng)函數(shù)封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02關(guān)于layui的動(dòng)態(tài)圖標(biāo)不顯示的解決方法
今天小編就為大家分享一篇關(guān)于layui的動(dòng)態(tài)圖標(biāo)不顯示的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09詳解SPA中前端路由基本原理與實(shí)現(xiàn)方式
這篇文章主要介紹了詳解SPA中前端路由基本原理與實(shí)現(xiàn)方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09小程序?qū)崿F(xiàn)點(diǎn)擊動(dòng)畫效果
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)點(diǎn)擊動(dòng)畫效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04JavaScript 數(shù)組展平方法: flat() 和 flatMap()詳解
從 ES2019 中開始引入了一種扁平化數(shù)組的新方法,可以展平任何深度的數(shù)組,這篇文章主要介紹了JavaScript 數(shù)組展平方法: flat() 和 flatMap()詳解,需要的朋友可以參考下2023-06-06鼠標(biāo)經(jīng)過顯示二級(jí)菜單js特效
本文章來給大家推薦一個(gè)不錯(cuò)的鼠標(biāo)經(jīng)過顯示二級(jí)菜單js特效效果,有需要了解的朋友可以參考一下2013-08-08