iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >js如何实现模态框的拖拽效果
  • 698
分享到

js如何实现模态框的拖拽效果

2023-07-02 15:07:30 698人浏览 独家记忆
摘要

今天小编给大家分享一下js如何实现模态框的拖拽效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。分析思路:点击弹出层,模态框

今天小编给大家分享一下js如何实现模态框的拖拽效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

分析思路:

点击弹出层,模态框和遮挡层就会显示出来。display:block
2.点击关闭按钮,模态框和遮挡层就会隐藏。display:none

js如何实现模态框的拖拽效果

在页面中拖拽的步骤:鼠标按下并移动,之后松开鼠标
4.触发事件是鼠标按下mousedown,鼠标移动是mousemove,鼠标松开:mouseup
5.拖拽过程:鼠标移动过程中,获得最新的值赋值给模态框的left和top值,这样模态框就可以跟着鼠标走了
6.鼠标按下触发的时间源是最上面一行,也就是说,鼠标只有放在最上面一行,才能触发该事件。放在其他区域不会触发该事件。
7.鼠标的坐标减去鼠标在盒子内的坐标,才是模态框真正的位置。(因为模态框是可移动的,只有第一次才能拿到模态框的left和top,其他时候并不能直接拿到。所以采用‘鼠标的坐标 - 鼠标在模态框内的坐标’来计算模态框的位置)

js如何实现模态框的拖拽效果

鼠标按下,我们要得到鼠标在盒子内的坐标
9.鼠标移动,就让模态框的坐标设置为:鼠标坐标 - 盒子坐标即可。注意移送事件要写到按下事件里面
10.鼠标松开,就停止拖拽,可以让鼠标移动事件解除

js如何实现模态框的拖拽效果

代码实现:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta Http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>模态框拖拽</title>    <style>        * {            margin: 0;            padding: 0;        }        #link {            color: #000;            text-decoration: none;            border: 1px solid #000;        }        .login {            width: 300px;            height: 200px;            background-color: antiquewhite;            position: absolute;            top: 50%;            left: 50%;            transfORM: translate(-50%, -50%);            z-index: 2;            display: none;        }        .login-title {            text-align: center;            width: 100%;            height: 40px;            line-height: 40px;            background-color: aqua;            cursor: move;        }        .login-title span {            display: block;            height: 30px;            width: 30px;            background-color: antiquewhite;            line-height: 30px;            border-radius: 50%;            position: absolute;            top: -10px;            right: -10px;            font-size: 12px;        }        .login-title span a {            text-decoration: none;            color: #000;        }        .login-input-content {            margin: 15px 20px 0;            line-height: 30px;        }        .login-button {            width: 200px;            height: 20px;            margin: 10px auto;            border: 1px solid rgb(77, 73, 73);            text-align: center;        }        .login-button a {            text-decoration: none;            color: #000;            font-size: 14px;        }        #bg {            display: none;            background-color: #000;            width: 100%;            height: 100%;            opacity: 0.3;            z-index: -1;            position: absolute;            top: 0;            left: 0;        }    </style></head><body>    <div class="login-header"><a href="javascript:;" rel="external nofollow"  id="link">点击,弹出登录框</a></div>    <div class="login" id="login">        <div class="login-title">登录会员            <span><a id="colseBth" href="javascript:void(0);" rel="external nofollow"  rel="external nofollow"  class="close-login">关闭</a></span>        </div>        <div class="login-input-content">            <div class="login-input">                <label for="">用&nbsp; 户&nbsp;名:</label>                <input type="text" placeholder="请输入用户名" name="info[sername]" id="username" class="username">            </div>            <div class="login-inpit">                <label for="">登录密码:</label>                <input type="passWord" placeholder="请输入登录密码" name="info[password]" id="password">            </div>        </div>        <div class="login-button" id="loginBtn"><a href="javascript:void(0);" rel="external nofollow"  rel="external nofollow"  id="login-button-submit">会员登录</a></div>    </div>    <!-- 遮罩层 -->    <div class="login-bg" id="bg"></div></body><script>    // 1.点击,弹出模态框和遮罩层    // 3.点击关闭模态框和遮罩层自动隐藏    // 4.页面拖拽原理:鼠标按下且移动,之后松开鼠标    // 5.拖拽过程:鼠标移动的时候获得新的值赋值给模态框的left和top值。        //1.获取DOM元素    var oLink = document.querySelector('#link');    var oLogin = document.querySelector('.login');    var oBg = document.querySelector('#bg');    var oClose = oLogin.querySelector('#colseBth');    var title = oLogin.querySelector('.login-title');    //2.点击弹出层这个链接link,让mask和login显示出来    oLink.addEventListener('click', function () {        oLogin.style.display = 'block';        oBg.style.display = 'block';    })    //3.点击closeBtn就隐藏mask和login    oClose.addEventListener('click', function () {        oLogin.style.display = 'none';        oBg.style.display = 'none';    })    //4.开始拖拽    //(1)当我们鼠标按下,就获得鼠标在盒子内的坐标    title.addEventListener('mousedown', function (e) {        var x = e.pageX - oLogin.offsetLeft;        var y = e.pageY - oLogin.offsetTop;        console.log(x, y)                //(2)鼠标移动的时候,把鼠标在页面中的坐标 减去 鼠标在盒子内的坐标就是模态框的left和top值        document.addEventListener('mousemove', move)             function move(e) {                oLogin.style.left = e.pageX - x + 'px';                oLogin.style.top = e.pageY - y + 'px';            }                        //(3)鼠标弹起,就让鼠标移动事件移除            document.addEventListener('mouseup', function () {                document.removeEventListener('mousemove', move);                            })        })    </script></html>

以上就是“js如何实现模态框的拖拽效果”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: js如何实现模态框的拖拽效果

本文链接: https://www.lsjlt.com/news/342614.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js实现模态框的拖拽效果
    本文实例为大家分享了js实现模态框拖拽效果的具体代码,供大家参考,具体内容如下 之前学习js遇到了这样的需求:鼠标按下后,移动鼠标,模态框随鼠标移动,鼠标松开,模态框也不会随鼠标移动...
    99+
    2022-11-13
  • js如何实现模态框的拖拽效果
    今天小编给大家分享一下js如何实现模态框的拖拽效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。分析思路:点击弹出层,模态框...
    99+
    2023-07-02
  • JS实现模态框拖拽动态效果
    本文实例为大家分享了JS实现模态框拖拽的具体代码,供大家参考,具体内容如下 在实现这个案例效果首先我们了解几个属性,offsetLeft.offsetTop,e.pageX,e.pa...
    99+
    2022-11-13
  • JS如何实现模态框拖拽动态效果
    本篇内容主要讲解“JS如何实现模态框拖拽动态效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS如何实现模态框拖拽动态效果”吧!在实现这个案例效果首先我们了解几个属性,offsetLeft.o...
    99+
    2023-07-02
  • JavaScript实现模态框拖拽效果
    在这里做一个模态框拖曳的案例,在这里要实现的功能有: 1.点击弹出层, 会弹出模态框, 并且显示灰色半透明的遮挡层。 2.点击关闭按钮,可以关闭模态框,并且同时关闭灰色半透明遮挡层。...
    99+
    2022-11-12
  • js实现模态框拖拽
    本文实例为大家分享了js实现模态框拖拽的具体代码,供大家参考,具体内容如下 效果展示和需求分析 效果展示 需求分析 点击登录后登录表单和遮罩层显示,点击关闭按钮隐藏。输入密码时可以...
    99+
    2022-11-13
  • js如何实现模态框拖拽
    今天小编给大家分享一下js如何实现模态框拖拽的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。效果展示和需求分析效果展示需求分析...
    99+
    2023-07-02
  • js实现拖动模态框效果
    本文实例为大家分享了js实现拖动模态框效果的具体代码,供大家参考,具体内容如下 1.实现效果: 点击链接,弹出模态框。点击关闭,关闭模态框。 点击标题部分,可以随意移动模态框的位置...
    99+
    2022-11-13
  • JavaScript怎么实现模态框拖拽效果
    这篇文章主要介绍“JavaScript怎么实现模态框拖拽效果”,在日常操作中,相信很多人在JavaScript怎么实现模态框拖拽效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript怎么实现模...
    99+
    2023-06-22
  • js如何实现拖动模态框效果
    今天小编给大家分享一下js如何实现拖动模态框效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.实现效果:点击链接,弹出模...
    99+
    2023-07-02
  • js如何实现登录框鼠标拖拽效果
    小编给大家分享一下js如何实现登录框鼠标拖拽效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:代码如下:<!DOC...
    99+
    2022-10-19
  • react实现拖拽模态框
    前言 实际开发中,模态框展现数据会经常出现.但不幸的是有时功能开发完了,UI同学突然提出需求希望模态框能拖拽.本文使用的模态框由 ant design 3.0 的 Modal 组件封...
    99+
    2022-11-13
  • js实现简单的拖拽效果
    本文实例为大家分享了js实现简单的拖拽效果的具体代码,供大家参考,具体内容如下 1.拖拽的基本效果 思路: 鼠标在盒子上按下时,准备移动 (事件加给物体) 鼠标移动时,盒子跟随鼠标移...
    99+
    2022-11-12
  • 如何用js实现一个拖拽效果
    这篇文章主要介绍“如何用js实现一个拖拽效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用js实现一个拖拽效果”文章能帮助大家解决问题。.markdown-body{word-break:br...
    99+
    2023-07-05
  • js拖拽效果的原理及实现
    拖拽功能主要是用在让用户做一些自定义的动作,比如拖动排序,弹出框拖动移动等等 拖拽的流程动作 1、鼠标按下 会触发onmousedown事件 2、鼠标移动 会触发onmousemov...
    99+
    2022-11-12
  • 原生JS如何实现圆环拖拽效果
    这篇文章给大家分享的是有关原生JS如何实现圆环拖拽效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近用原生JS写一个环形的鼠标滑动效果,代码如下:<!DOCTYPE&n...
    99+
    2022-10-19
  • JS如何实现拖动模态框
    这篇文章主要介绍了JS如何实现拖动模态框的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JS如何实现拖动模态框文章都会有所收获,下面我们一起来看看吧。效果图:需求分析:点击登录后登录表单和遮罩层显示,点击关闭按钮...
    99+
    2023-07-02
  • Javascript实现登录框拖拽效果
    本文实例为大家分享了Javascript实现登录框拖拽效果的具体代码,供大家参考,具体内容如下 需求分析 1、点击弹出登录框 2、在登录框的特定区域可以将登录框拖拽至任意位置 3...
    99+
    2022-11-12
  • js实现拖动模态框
    模态框,我们也叫弹出框,可以在网易云,京东等之类的网页中看到。 效果如下: 代码思路: 1.点击弹出层,会弹出模态框,并且显示灰色半透明的遮挡层。 2.点击关闭按钮,可以关闭模态框...
    99+
    2022-11-13
  • 如何使用原生js实现可拖拽效果
    这篇文章主要介绍如何使用原生js实现可拖拽效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图:代码如下:<!DOCTYPE html> <html&...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作