最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

運(yùn)用js實(shí)現(xiàn)圖層拖拽的功能

 更新時間:2019年05月24日 14:12:08   作者:舊城tk  
js拖拽是常見的網(wǎng)頁效果,本文將從零開始實(shí)現(xiàn)一個簡單的js插件,下面和小編來一起學(xué)習(xí)一下吧

1.需求分析:設(shè)計一個元素,可以跟隨鼠標(biāo)的移動,元素也進(jìn)行移動,并且能夠在鼠標(biāo)按上與按下元素的時候,元素同樣可以進(jìn)行改變樣式顏色。

2. 設(shè)計思路:先是需要獲取元素,給元素綁定鼠標(biāo)按下的事件,在綁定的事件中,兼容event事件,獲取鼠標(biāo)的坐標(biāo)和元素的坐標(biāo),通過鼠標(biāo)的坐標(biāo)減去元素的坐標(biāo)就可以得到鼠標(biāo)在元素中的坐標(biāo)。在綁定事件中,寫上一個元素的移動事件,獲取元素的移動坐標(biāo)。最后,在鼠標(biāo)按上的事件函數(shù)中,可以調(diào)用元素的移動事件就可以了。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>圖層拖拽</title>
 <style>
 .box {
 width: 200px;
 height: 200px;
 background-color: skyblue;
 border: 2px solid #ccc;
 cursor: pointer;
 position: absolute;
 top: 20px;
 left: 100px;
 }
 </style>
</head>
<body>
<div class="box" id="box"></div>
</body>
<script>
 var box = document.getElementById("box");
 box.onmousedown = function(env){
 // 兼容event事件
 var env = env || window.event;
 // 獲取鼠標(biāo)的坐標(biāo)
 var x = env.clientX;
 var y = env.clientY;
 // 獲取元素的坐標(biāo)
 var left = box.offsetLeft;
 var top = box.offsetTop;
 // 獲取鼠標(biāo)在元素中的坐標(biāo)
 var x_left = x - left;
 var y_top = y -top;
 // 鼠標(biāo)點(diǎn)擊后改變顏色
 box.style.background = "red";
 // 元素的移動事件函數(shù)
 box.onmousemove = function(env){
 // 兼容event事件
 var env = env || window.event;
 // 獲取元素移動時的鼠標(biāo)的坐標(biāo)
 var x = env.clientX;
 var y = env.clientY;
 // 元素的移動坐標(biāo)
 box.style.left = (x - x_left)+"px";
 box.style.top = (y - y_top)+"px";
 }
 };
 // 鼠標(biāo)彈出的事件函數(shù)
 box.onmouseup = function(){
 box.style.background = "skyblue";
 // 在鼠標(biāo)彈出后再次調(diào)用元素的鼠標(biāo)移動事件
 box.onmousemove = function(){};

 };
</script>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

青田县| 化德县| 惠水县| 合作市| 望谟县| 五大连池市| 黄山市| 安龙县| 威信县| 昆山市| 越西县| 林西县| 湘潭县| 腾冲县| 任丘市| 定远县| 临颍县| 隆安县| 兴义市| 东阿县| 长沙市| 安龙县| 济南市| 钟山县| 象州县| 宁波市| 秭归县| 临沂市| 石狮市| 平安县| 革吉县| 若尔盖县| 高州市| 武功县| 开化县| 克山县| 怀仁县| 保亭| 合作市| 崇仁县| 嫩江县|