iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >JavaScript怎么实现登录框鼠标拖拽效果
  • 479
分享到

JavaScript怎么实现登录框鼠标拖拽效果

2024-04-02 19:04:59 479人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“javascript怎么实现登录框鼠标拖拽效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript怎么实现登录框鼠标拖拽效果”文章能帮助大家解决疑惑,下面跟着小编的思

本文小编为大家详细介绍“javascript怎么实现登录框鼠标拖拽效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript怎么实现登录框鼠标拖拽效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>登录框鼠标拖拽效果</title>

    <style type="text/CSS">

        body {

            background: url("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1488778794834&di=e97c96dfe7860297d1968c30adc862a2&imgtype=0&src=Http%3A%2F%2Fpic1.5442.com%3A82%2F2015%2F0409%2F01%2F15.jpg%2521960.jpg") no-repeat top center #ffffff;

            background-size: 100%;

            padding: 0;

            margin: 0;

            font-size: 12px;

            font-family: "微软雅黑", sans-serif;

        }

        .ui-dialog {

            width: 380px;

            position: absolute;

            z-index: 9000;

            top: 100px;

            left: 100px;

            border: 1px solid #d5d5d5;

            background-color: #ffffff;

           

        }

        .ui-dialog-title {

            height: 48px;

            line-height: 48px;

            padding-left: 20px;

            color: #535353;

            font-size: 16px;

            background-color: #f5f5f5;

            border-bottom: 1px solid #efefef;

            cursor: move;

        }

        .ui-dialog-title-closebutton {

            width: 16px;

            height: 16px;

            display: inline-block;

            position: absolute;

            right: 20px;

            color: #000;

            text-decoration: unset;

        }

        .ui-dialog-title-closebutton:hover {

           color: #4ca8ff;

        }

        .ui-dialog-content {

            padding: 15px 20px;

        }

        .ui-dialog-pt15 {

            padding-top: 15px;

        }

        .ui-dialog-l40 {

            height: 40px;

            line-height: 40px;

            text-align: right;

        }

        .ui-dialog-input {

            width: 100%;

            height: 40px;

            margin: 0;

            padding: 0;

            border:1px solid #d5d5d5;

            font-size: 16px;

            color: #c1c1c1;

            text-indent: 25px;

            outline: none;

        }

        .ui-dialog-input-username {

            background: url("images/input_username.png") no-repeat 2px;

        }

        .ui-dialog-input-passWord {

            background: url("images/input_password.png") no-repeat 2px;

        }

        .ui-dialog-submit {

            width: 100%;

            height: 50px;

            background: #3b7ae3;

            border: none;

            font-size: 16px;

            color: #ffffff;

            outline: none;

            text-decoration: none;

            display: block;

            text-align: center;

            line-height: 50px;

        }

        .ui-dialog-submit:hover {

            background: #3f81b0;

        }

        .ui-mask {

            width: 100%;

            height: 100%;

            background: #000;

            opacity: 0.4;

            position: absolute;

            top: 0;

            left: 0;

            z-index: 8000;

            display: none;

        }

        .link {

            text-align: right;

            line-height: 20px;

            padding-right: 40px;

        }

    </style>

</head>

 

 

 

<body>

 

    <div class="ui-dialog" id="dialog">

        <div class="ui-dialog-title" id="dialogTitle">

            登录

            <!-- 右上角的关闭按钮 -->

            <a href="javascript:hideDialog();" class="ui-dialog-title-closebutton">X</a>

        </div>

        <div class="ui-dialog-content">

            <div class="ui-dialog-l40 ui-dialog-pt15">

                <input class="ui-dialog-input ui-dialog-input-username" type="input" placeholder="手机/邮箱/用户名" />

            </div>

            <div class="ui-dialog-l40 ui-dialog-pt15">

                <input class="ui-dialog-input ui-dialog-input-password" type="input" placeholder="密码" />

            </div>

            <div class="ui-dialog-l40">

                <a href="#">忘记密码</a>

            </div>

            <div>

                <a class="ui-dialog-submit" href="#">登录</a>

            </div>

            <div class="ui-dialog-l40">

                <a href="#">立即注册</a>

            </div>

        </div>

    </div>

 

    <div class="ui-mask" id="mask"></div>

    <div class="link">

        <a href="javascript:showDialog();" style=" text-decoration: unset;color: #4ca8ff">登录</a>

    </div>

 

    <script type="text/javascript">

        // 获取元素对象

        function g(id) {

            return document.getElementById(id);

        }

        // 自动居中函数 -- 登录浮层

        // el {Element}

        function autoCenter(el) {

            // 获得可视区域的宽和高

            var bodyW = document.documentElement.clientWidth;

            var bodyH = document.documentElement.clientHeight;

            // 获得元素 el 的宽和高

            var elW = el.offsetWidth;

            var elH = el.offsetHeight;

            // 设置元素的 style 样式

            el.style.left = (bodyW - elW) / 2 + 'px';

            el.style.top = (bodyH - elH) / 2 + 'px';

        }

        // 扩展元素到整个可视区域 -- 遮罩层

        // el {Element}

        function fillToBody(el) {

            // 将元素的宽和高设置的和可视区域一样

            el.style.width = document.documentElement.clientWidth + 'px';

            el.style.height = document.documentElement.clientHeight + 'px';

        }

        // 定义全局变量

        var mouseOffsetX = 0;

        var mouseOffsetY = 0;

        var isDragging = false;

        // 鼠标事件1 -- 在标题栏上按下

        // 计算鼠标相对拖拽元素的的左上角的坐标, 并且标记元素为可拖动

        g('dialogTitle').addEventListener('mousedown', function(e) {

            var e = e || window.event;

            // 用鼠标按下时的坐标减去 dialog 的左上角坐标

            mouseOffsetX = e.pageX - g('dialog').offsetLeft;

            mouseOffsetY = e.pageY - g('dialog').offsetTop;

            isDragging = true;

        });

        // 鼠标事件2 -- 鼠标移动

        document.onmousemove = function(e) {

            var e = e || window.event;

            // 鼠标当前位置

            var mouseX = e.pageX;

            var mouseY = e.pageY;

            // 鼠标从单击时至当前时刻移动的距离

            var moveX = 0;

            var moveY = 0;

            if (isDragging === true) {

                moveX = mouseX - mouseOffsetX;

                moveY = mouseY - mouseOffsetY;

                // 范围限定

                // moveX > 0 且 moveX < (页面最大宽度 - 浮层宽度)

                // moveY > 0 且 moveY < (页面最大宽度 - 浮层高度)

                var pageWidth = document.documentElement.clientWidth;

                var pageHeight = document.documentElement.clientHeight;

                // 登录浮层的宽、高

                var dialogWidth = g('dialog').offsetWidth;

                var dialogHeight = g('dialog').offsetHeight;

                var maxX = pageWidth - dialogWidth;

                var maxY = pageHeight - dialogHeight;

                moveX = Math.min(maxX, Math.max(0, moveX));

                moveY = Math.min(maxY, Math.max(0, moveY));

                g('dialog').style.left = moveX + 'px';

                g('dialog').style.top = moveY + 'px';

            }

        };

        // 鼠标事件3 -- 鼠标松开

        document.onmouseup = function() {

            isDragging = false;

        };

        // 展现登录浮层

        function showDialog() {

            g('dialog').style.display = 'block';

            g('mask').style.display = 'block';

            autoCenter(g('dialog'));

            fillToBody(g('mask'));

        }

        // 隐藏登录浮层

        function hideDialog() {

            g('dialog').style.display = 'none';

            g('mask').style.display = 'none';

        }

        window.onresize = function() {

            autoCenter(g('dialog'));

            fillToBody(g('mask'));

        };

        showDialog();

        autoCenter(g('dialog'));

    </script>

</body>

</html>

读到这里,这篇“JavaScript怎么实现登录框鼠标拖拽效果”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网html频道。

--结束END--

本文标题: JavaScript怎么实现登录框鼠标拖拽效果

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

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

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

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

下载Word文档
猜你喜欢
  • JavaScript怎么实现登录框鼠标拖拽效果
    本文小编为大家详细介绍“JavaScript怎么实现登录框鼠标拖拽效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript怎么实现登录框鼠标拖拽效果”文章能帮助大家解决疑惑,下面跟着小编的思...
    99+
    2024-04-02
  • js如何实现登录框鼠标拖拽效果
    小编给大家分享一下js如何实现登录框鼠标拖拽效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:代码如下:<!DOC...
    99+
    2024-04-02
  • Javascript实现登录框拖拽效果
    本文实例为大家分享了Javascript实现登录框拖拽效果的具体代码,供大家参考,具体内容如下 需求分析 1、点击弹出登录框 2、在登录框的特定区域可以将登录框拖拽至任意位置 3...
    99+
    2024-04-02
  • JavaScript实现鼠标拖拽效果
    本文实例为大家分享了JavaScript实现鼠标拖拽效果的具体代码,供大家参考,具体内容如下 这次的效果图如下: 我认为这个实验的难点是保持盒子和鼠标的相对位置不变,通过鼠标按下和...
    99+
    2024-04-02
  • 怎样使用js实现百度登录框鼠标拖拽效果
    这篇文章主要介绍怎样使用js实现百度登录框鼠标拖拽效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!知识点:1.掌握对可拖拽对话框的实现原理2.了解元素如何触发脚本方法以及如何编写侦...
    99+
    2024-04-02
  • JavaScript实现div的鼠标拖拽效果
    本文实例为大家分享了JavaScript实现div鼠标拖拽效果的具体代码,供大家参考,具体内容如下 实现原理鼠标按下时根据onmousemove事件来动态获取鼠标坐标位置以此来更新d...
    99+
    2024-04-02
  • 怎么用JavaScript实现div的鼠标拖拽效果
    这篇文章主要介绍“怎么用JavaScript实现div的鼠标拖拽效果”,在日常操作中,相信很多人在怎么用JavaScript实现div的鼠标拖拽效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Java...
    99+
    2023-06-25
  • javascript实现登录框拖拽
    本文实例为大家分享了javascript实现登录框拖拽的具体代码,供大家参考,具体内容如下 效果: 代码: <!DOCTYPE html> <html> ...
    99+
    2022-11-13
    js登录框拖拽 js登录框 js拖拽
  • JavaScript怎么实现模态框拖拽效果
    这篇文章主要介绍“JavaScript怎么实现模态框拖拽效果”,在日常操作中,相信很多人在JavaScript怎么实现模态框拖拽效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript怎么实现模...
    99+
    2023-06-22
  • JavaScript实现模态框拖拽效果
    在这里做一个模态框拖曳的案例,在这里要实现的功能有: 1.点击弹出层, 会弹出模态框, 并且显示灰色半透明的遮挡层。 2.点击关闭按钮,可以关闭模态框,并且同时关闭灰色半透明遮挡层。...
    99+
    2024-04-02
  • 使用纯JS实现checkbox的框选效果(鼠标拖拽多选)
    目录主要思路css 代码如下html结构如下js主要逻辑如下总结 主要思路 用一个盒子作为选区,通过定位让其固定在左上角,由于没有给定选区元素的宽高所以默认不显示,在 onmouse...
    99+
    2024-04-02
  • JavaScript怎么实现拖拽排序效果
    这篇“JavaScript怎么实现拖拽排序效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript怎么实现拖拽...
    99+
    2023-06-30
  • JavaScript实现拖拽简单效果
    本文实例为大家分享了JavaScript实现拖拽效果的具体代码,供大家参考,具体内容如下 1.1 拖拽的基本效果 思路: 鼠标在盒子上按下时,准备移动 (事件加给物体) 鼠标移动时,...
    99+
    2024-04-02
  • JavaScript实现简单拖拽效果
    本文实例为大家分享了JavaScript实现简单拖拽效果的具体代码,供大家参考,具体内容如下 先看实现的效果: 思路:里面用到了三个事件,鼠标按下、移动、松开事件 那么首先创建盒子...
    99+
    2024-04-02
  • javascript实现鼠标拖尾特效
    鼠标特效需要使用定时器setTimeout在固定时间生成节点,删除节点,生成的节点赋予随机的宽高,随机颜色,使每个特效节点都看起来不一样 注意:生成的节点需要设置绝对定位,使其脱离文...
    99+
    2024-04-02
  • 如何使用纯CSS实现鼠标点击拖拽效果
    这篇文章主要介绍“如何使用纯CSS实现鼠标点击拖拽效果”,在日常操作中,相信很多人在如何使用纯CSS实现鼠标点击拖拽效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用纯CSS实现鼠标点击拖拽效果”的疑...
    99+
    2023-07-04
  • JavaScript实现九宫格拖拽效果
    本文实例为大家分享了JavaScript实现九宫格拖拽效果的具体代码,供大家参考,具体内容如下 关于一些拼图游戏什么的,见人家效果做的不错,参考下别人写的代码,我也尝试着做了个。 &...
    99+
    2024-04-02
  • JavaScript实现简单的拖拽效果
    本文实例为大家分享了JavaScript实现简单的拖拽效果的具体代码,供大家参考,具体内容如下 1.先搭架子: * { margin: 0; ...
    99+
    2024-04-02
  • 怎么用JavaScript实现简单的拖拽效果
    这篇文章主要介绍“怎么用JavaScript实现简单的拖拽效果”,在日常操作中,相信很多人在怎么用JavaScript实现简单的拖拽效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用JavaScript...
    99+
    2023-06-25
  • 原生JS实现可拖拽登录框
    本文分享一个用原生JS实现的可拖拽登录框,效果如下: 实现的代码如下: <!DOCTYPE html> <html> <head> ...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作