第47天:拖动弹出框

简介: 假期结束,继续学习!拖动弹出框效果 1 DOCTYPE html> 2 3 4 5 6 7 *{margin:0;padding:0;} 8 .

假期结束,继续学习!

拖动弹出框效果

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <style>
 7         *{margin:0;padding:0;}
 8         .box{
 9             width:400px;
10             height:300px;
11             border:5px solid #eee;
12             box-shadow:2px 2px 2px 2px #666;
13             position: absolute;
14             top:50%;
15             left:50%;
16             margin-top: -155px;
17             margin-left:-205px;
18 
19         }
20         .hd{
21             width:100%;
22             height:25px;
23             background-color: #3B90CD;
24             border-bottom:1px solid #369;
25             line-height: 25px;
26             color:white;
27             cursor: move;
28         }
29         #box_close{
30             float: right;
31             cursor: pointer;
32         }
33     </style>
34 </head>
35 <body>
36 <div class="box" id="box">
37     <div class="hd" id="drop">注册信息   (可以拖拽)
38             <span id="box_close">【关闭】</span>
39     </div>
40     <div class="bd"></div>
41 </div>
42 </body>
43 </html>
44 <script>
45     var box = document.getElementById("box");
46     var drop = document.getElementById("drop");
47     startDrop(drop,box);  // 鼠标放到  drop    但是移动 是 box
48     function startDrop(current,move) {
49         current.onmousedown = function(event) {
50             var event = event || window.event;
51             var x = event.clientX - move.offsetLeft - 205;   // 记录当前盒子的x 位置
52             var y = event.clientY - move.offsetTop - 155;  //  // 记录当前盒子的y位置
53             document.onmousemove = function(event) {
54                 var event = event || window.event;
55                 move.style.left = event.clientX - x + "px";
56                 move.style.top = event.clientY - y + "px";
57                 window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
58             }
59 
60         }
61         document.onmouseup = function() {  // 鼠标弹起之后, 鼠标继续移动不应该操作
62             document.onmousemove = null;
63         }
64     }
65 
66 </script>

运行效果:

 

相关文章
|
物联网 开发者
NB-IoT 中 TAU 和 PSM 定时器配置 | 学习笔记
快速学习 NB-IoT 中 TAU 和 PSM 定时器配置
NB-IoT 中 TAU 和 PSM 定时器配置 | 学习笔记
|
存储 安全 数据安全/隐私保护
讲解移动应用中的用户认证和授权。
【4月更文挑战第1天】移动应用开发重在用户认证和授权,确保安全和体验。认证涉及用户名密码、短信验证码、第三方登录和生物特征,其中生物特征安全便捷但受限于硬件。授权管理通过角色或细粒度权限控制用户操作。OAuth用于第三方授权,SSO简化登录。多因素认证增强安全性。开发者需平衡安全与体验,保护用户隐私。
396 0
|
文件存储
PowerShell系列(十):PowerShell CmdletPowerShell Cmdlet 参数详解
【2月更文挑战第5篇】强制类型参数使用比较频繁,基本上涉及新建、更新、配置等命令都需要针对特定的对应进行操作,所有需要强制输入一个参数来确认操作的对象是谁。
PowerShell系列(十):PowerShell CmdletPowerShell Cmdlet 参数详解
|
10月前
|
机器学习/深度学习 自然语言处理 搜索推荐
预训练的词嵌入(Word Embedding)
预训练的词嵌入(Word Embedding)
407 2
|
4月前
|
人工智能 数据可视化 测试技术
Apifox与Apipost对比,2025年功能对比与选项建议
Apifox 和 Apipost 作为国内 API 一体化协作平台的佼佼者,都在不断进化,力求为用户提供更全面的解决方案。本文将聚焦“2025 版”,基于两款工具截至 2024 年末至 2025 年中旬的预期功能和行业发展趋势,进行一次全方位、深度的功能对比,旨在为开发者、测试工程师、产品经理及技术决策者在选型时提供有价值的参考。
|
自然语言处理
|
10月前
|
存储 边缘计算 物联网
探索边缘计算:重塑物联网时代的数据处理格局
探索边缘计算:重塑物联网时代的数据处理格局
|
Linux
Linux telnet安装及端口测试联通性
Linux telnet安装及端口测试联通性
293 10
|
Java 编译器
成功解决:java file outside of source root
解决Java文件不在源代码根目录内的问题,可以通过在IDEA中将包含.java文件的目录设置为Sources Root来修复。
成功解决:java file outside of source root
|
机器学习/深度学习 自然语言处理 算法
命名实体消歧
8月更文挑战第23天