中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript實現拖拽盒子效果

發布時間:2020-09-08 02:19:31 來源:腳本之家 閱讀:271 作者:空谷丶幽蘭 欄目:web開發

本文實例為大家分享了JavaScript實現拖拽盒子效果的具體代碼,供大家參考,具體內容如下

實現效果:

1.單擊關閉,關閉盒子
2.點擊左上方‘點擊注冊',打開盒子
3.鼠標放在盒子上方藍色區域顯示十字
4.點擊鼠標不松開就可移動盒子
5.松開鼠標圖片暫停

JavaScript實現拖拽盒子效果

實現步驟:

1.在頁面最上方設置一個盒子,里面有一個超鏈接,超鏈接里面設置href="javascript:void(0);",再點擊時不打開網頁。

2.再設置一個可以拖拽的盒子,盒子嵌套一個藍色盒子為的最上方的藍色區域,藍色盒子里面兩個span標簽,里面寫‘關閉'和‘可拖拽'。

3.給‘關閉'的盒子注冊點擊事件,點擊后,拖拽盒子樣式為none,(不顯示)
給最上方的超鏈接設置點擊事件,點擊后,拖拽盒子樣式為block,(顯示)  

4.給上方藍色盒子設置onmousedown(鼠標點擊事件),同時獲取鼠標點擊位置
離拖拽盒子的距離,為mouseLeft和mouseTop

5.給頁面(document)設置onmousemove事件讓鼠標的位置分別減去mouseLeft和mouseTop,得到盒子左上角隨鼠標移動的坐標,再將坐標賦值給拖拽盒子

6.最后設置onmouseup事件,鼠標松開時頁面不移動。即document.onmousemove = null

實現細節:

1.讓拖拽盒子居中顯示:top:50%;  left: 50%; 
       margin-left :-155px;  margin-top:-155px;
      ( margin-left: -(盒子寬度的一半); 這里盒子寬度300px邊框為5px,總寬度310px,
      所以設置-155px, margin-top:-(盒子高度的一半),和寬度同理)

2.var evt = event || window.event;兼容性寫法。

代碼:

<!DOCTYPE html>
<html>
<head>
 <title>拖拽盒子</title>
 <style type="text/css">
 *{
 margin:0px;
 padding:0px;
 }
 .dropBox{
 width:300px;
 height:300px;
  top:50%;
  left:50%;
  margin-left: -155px;
  margin-top: -155px;
  display: block;
 border: 5px solid #aaa;
 position: absolute;
 }

 .nav{
 width: 100%;
 height:30px;
 background-color: blue;
 opacity: 0.6;
 }
 .nav a{
 font-size:15px;
 color:white;
 }
 .dropBox .box{
 width:300px;
 height:30px;
 position: absolute;
 left:0px;
 top:0px;
 background-color: darkblue;
 opacity: 0.8;
 cursor:move;
 }
 .close{
 float: right;
 color:white;
 font-size: 15px;
 cursor: pointer;
 }
 .move{
 color:white;
 font-size: 15px;
 }
 </style>
 <script type="text/javascript">
 function $(id){
 return document.getElementById(id);
 }
 window.onload = function(){
 var register = $('register');
 var dropBox = $('dropDiv');
 var box = $('box');
 var box2 = $('box2');
 box2.onclick = function(){
  dropBox.style.display = 'none';
 }
 register.onclick = function(){
  dropBox.style.display = 'block';
 }
  box.onmousedown = function(event){
  var evt = event || window.event;
  var mouseLeft = evt.clientX - dropBox.offsetLeft;
  var mouseTop = evt.clientY - dropBox.offsetTop;
  document.onmousemove = function(event){
  var evt = event || window.event;
  var x = evt.clientX - mouseLeft;
  var y = evt.clientY - mouseTop;
  dropBox.style.left = x + 155 + 'px';
  dropBox.style.top = y + 155 + 'px';
  }
  document.onmouseup = function (){
 document.onmousemove = null;
  }
  }

 }



 </script>
</head>
<body>
 <div class="nav">
 <a href="javascript:void(0);" id="register">點擊注冊</a>
 </div>
 <div class="dropBox" id="dropDiv">
 <div class="box" id="box">
 <span class="move">注冊信息(可以拖拽)</span>
 <span class="close" id="box2">【關閉】</span>
 </div>
 
 </div>
</body>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蚌埠市| 平邑县| 广汉市| 阿勒泰市| 电白县| 宿迁市| 理塘县| 平邑县| 建水县| 洛川县| 肇源县| 崇义县| 那坡县| 连州市| 甘泉县| 雷波县| 云浮市| 会昌县| 谷城县| 金湖县| 福鼎市| 吉木萨尔县| 红河县| 临邑县| 阳泉市| 南部县| 武宁县| 甘德县| 濮阳县| 奈曼旗| 翁源县| 酒泉市| 泉州市| 上思县| 吉木萨尔县| 资溪县| 屯昌县| 正镶白旗| 津市市| 沙田区| 侯马市|