版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第js实现拖动模态框效果如下:
代码思路:
1.点击弹出层,会弹出模态框,并且显示灰色半透明的遮挡层。
2.点击关闭按钮,可以关闭模态框,并且同时关闭灰色半透明遮挡层。
3.鼠标放到模态框最上面一行,可以按住鼠标拖拽模态框在页面中移动。
4.鼠标松开,可以停止拖动模态框移动。
5.在页面中拖拽的原理︰鼠标按下并且移动,之后松开鼠标
6.触发事件是鼠标按下mousedown,鼠标移动mousemove鼠标松开mouseup
7.拖拽过程:鼠标移动过程中,获得最新的值赋值给模态框的left和top值,这样模态框可以跟着鼠标走了
8.鼠标按下触发的事件源是最上面一行.就是id为title
9.鼠标的坐标减去鼠标在盒子内的坐标,才是模态框真正的位置。
10.鼠标按下,我们要得到鼠标在盒子的坐标。
11.鼠标移动,就让模态框的坐标设置为︰鼠标坐标减去盒子坐标即可,注意移动事件写到按下事件里面。
代码步骤:
1.点击弹出层,模态框和遮挡层就会显示出来display:block
1.1点击弹出层这个链接link让mark和login显示出来
2.点击关闭按钮,模态框和遮挡层就会隐藏出来display:none
2.1点击弹出层这个关闭按钮closeBtn让mark和login隐藏起来
3.开始拖拽
1)当鼠标按下,就获得鼠标在盒子内的坐标
2)鼠标移动的时候,把鼠标在页面中的坐标减去鼠标在盒子中的坐标就是模态框的left和top值注意移动事件写到按下事件里面。
3)鼠标弹起,就让鼠标事件移除
具体每一步的步骤也会在代码中写出来
html部分:
div
ahref="javascript:;"id="link"
点击,弹出登录框
/a
/div
divid="login"
divid="title"登录会员
span
ahref="javascript:void(0);"id="closeBtn"
关闭
/a
/span
/div
div
div
label用户名:/label
inputtype="text"name="info[name]"id="username"placeholder="请输入用户名"/
/div
div
label登录密码/label
inputtype="password"name="info[password]"id="password"placeholder="请输入登录密码"/
/div
/div
divid="loginBtn"
ahref="javascript:void(0)"id="login-button-submit"/a
/div
/div
!--遮盖层--
divid="bg"
/div
css部分:
.login-headera{
position:fixed;
top:20px;
left:40%;
font-size:30px;
}
.login{
display:none;
width:512px;
height:280px;
position:fixed;
border:1pxsolid#EBEBEB;
left:50%;
top:50%;
background-color:#fff;
box-shadow:0020px#ddd;
z-index:999;
transform:translate(-50%,-50%);
}
.login-title{
width:100%;
margin:10px000;
text-align:center;
line-height:40px;
height:40px;
position:relative;
cursor:move;
}
.login-input-content{
margin-top:20px;
}
.login-button{
width:50%;
margin:30pxauto0auto;
line-height:40px;
font-size:14px;
border:1pxsolid#EBEBEB;
text-align:center;
}
.login-bg{
display:none;
width:100%;
height:100%;
position:fixed;
top:0;
left:0;
background:rgba(0,0,0,0.3);
}
a{
text-decoration:none;
color:#000000;
}
.login-buttona{
display:block;
}
.login-inputinput.listinput{
float:left;
line-height:35px;
width:350px;
border:1pxsolid#EBEBEB;
text-indent:5px;
}
.login-input{
overflow:hidden;
margin:0020px40px;
}
.login-inputlabel{
float:left;
width:90px;
padding-right:10px;
line-height:35px;
height:35px;
font-size:14px
}
.login-titlespan{
position:absolute;
font-size:12px;
right:-10px;
top:-30px;
background-color:#fff;
border:1pxsolid#ebebeb;
width:40px;
height:40px;
border-radius:20px;
}
javascript部分:
//1.获取元素
varlogin=document.querySelector('.login');
//遮盖层
varmark=document.querySelector('.login-bg');
//显示按钮
varlink=document.querySelector('#link');
//关闭按钮
varcloseBtn=document.querySelector('#closeBtn');
//在title区域按下鼠标才可以拖动
vartitle=document.querySelector('#title')
//2.点击弹出层这个链接link
让mark和login显示出来
link.addEventListener('click',function(){
mark.style.display='block'
login.style.display='block'
})
//3.点击弹出层这个关闭按钮closeBtn
让mark和login隐藏起来
closeBtn.addEventListener('click',function(){
mark.style.display='none'
login.style.display='none'
})
//4.开始拖拽
//(1)当鼠标按下,就获得鼠标在盒子内的坐标
title.addEventListener('mousedown',function(e){
varx=e.pageX-login.offsetLeft;
vary=e.pageY-login.offsetTop;
//(2)鼠标移动的时候,把鼠标在页面中的坐标减去鼠标在盒子中的坐标就是模态框的left和top值注意移动事件写到按下事件里面。
document.addEventListener('mousemove',move)
functionmove(e){
login.style.left=e.pageX-x+'px'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位法律岗面试易错题题库试卷及参考答案2026
- 事业单位法律岗面试高频考题题库试卷及参考答案
- 2027年备考会计基础 【零基础学员必练】全真模拟考试试题卷含答案
- 2027年备考会计基础 【零基础学员必练】通关提分题库及完整答案
- 2026年湖南生物机电职业技术学院高职单招笔试职业适应性测验历年参考题库含答案解析
- 2026年湖南外贸职业学院高职单招笔试语文历年参考题库含答案解析
- 2026年渤海理工职业学院高职单招笔试英语历年参考题库含答案解析
- 2026年海南外国语职业学院高职单招笔试综合素质历年参考题库含答案解析
- 2026年河北劳动关系职业学院高职单招笔试职业技能测验历年参考题库含答案解析
- 2026年江西财经职业学院高职单招笔试数学历年参考题库含答案解析
- 中医红外热像采集与分析技术规范
- 定语从句专项训练50题可打印
- 重复经颅磁刺激治疗与护理
- 四川省甘孜州泸定县冷碛镇冷碛小学-主题班会-好好说话,与爱同行【课件】
- 火灾与爆炸的预防措施
- 电力工程竣工验收报告及流程
- CFSLM治疗先天性重度上睑下垂的临床体会
- 2025年中国联通校园招聘笔试参考题库含答案解析
- 经导管主动脉瓣置换术围手术期共病诊治中国专家共识
- 钢结构监理实施细则
- 高填深挖路基监控量测施工方案 - 副本
评论
0/150
提交评论