JavaScript实现弹出式可拖动登录框

 更新时间:2022年01月07日 18:27:53   作者:我莫得感情_  
这篇文章主要为大家详细介绍了JavaScript实现弹出式可拖动登录框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JavaScript实现弹出式可拖动登录框的具体代码,供大家参考,具体内容如下

效果图展示:

总体来说实现起来比较简单,老规矩,先搭建html框架,代码如下:

<div class="login-header"><a id="link" href="javascript:;" >点击,弹出登录框</a></div>
    <div id="login" class="login">
        <div id="title" class="login-title">登录会员
            <span><a id="closeBtn" href="javascript:void(0);" class="close-login">关闭</a></span>
        </div>
        <div class="login-input-content">
            <div class="login-input">
                <label>用户名:</label>
                <input type="text" placeholder="请输入用户名" name="info[username]" id="username" class="list-input">
            </div>
            <div class="login-input">
                <label>登录密码:</label>
                <input type="password" placeholder="请输入登录密码" name="info[password]" id="password" class="list-input">
            </div>
        </div>
        <div id="loginBtn" class="login-button"><a href="javascript:void(0);" id="login-button-submit">登录会员</a></div>
    </div>
    <!-- 遮盖层 -->
<div id="bg" class="login-bg"></div>

css代码:

<style>
        .login-header {
            width: 100%;
            text-align: center;
            height: 30px;
            font-size: 24px;
            line-height: 30px;
        }
        
        *{
            padding: 0px;
            margin: 0px;
        }
        
        .login {
            display: none;
            width: 512px;
            height: 280px;
            position: fixed;
            border: #ebebeb solid 1px;
            left: 50%;
            top: 50%;
            background: #ffffff;
            box-shadow: 0px 0px 20px #ddd;
            z-index: 9999;
            transform: translate(-50%, -50%);
        }
        
        .login-title {
            width: 100%;
            margin: 10px 0px 0px 0px;
            text-align: center;
            line-height: 40px;
            height: 40px;
            font-size: 18px;
            position: relative;
            cursor: move;
        }
        
        .login-input-content {
            margin-top: 20px;
        }
        
        .login-button {
            width: 50%;
            margin: 30px auto 0px auto;
            line-height: 40px;
            font-size: 14px;
            border: #ebebeb 1px solid;
            text-align: center;
        }
        
        .login-bg {
            display: none;
            width: 100%;
            height: 100%;
            position: fixed;
            top: 0px;
            left: 0px;
            background: rgba(0, 0, 0, .3);
        }
        
        a {
            text-decoration: none;
            color: #000000;
        }
        
        .login-button a {
            display: block;
        }
        
        .login-input input.list-input {
            float: left;
            line-height: 35px;
            height: 35px;
            width: 350px;
            border: #ebebeb 1px solid;
            text-indent: 5px;
        }
        
        .login-input {
            overflow: hidden;
            margin: 0px 0px 20px 0px;
        }
        
        .login-input label {
            float: left;
            width: 90px;
            padding-right: 10px;
            text-align: right;
            line-height: 35px;
            height: 35px;
            font-size: 14px;
        }
        
        .login-title span {
            position: absolute;
            font-size: 12px;
            right: -20px;
            top: -30px;
            background: #ffffff;
            border: #ebebeb solid 1px;
            width: 40px;
            height: 40px;
            border-radius: 20px;
        }
</style>

有没有觉得CSS才是最复杂难搞的

最后是js代码:这里我们只让盒子的title部分能拖动,也就是登录框头部部分

<script>
        //获取元素
        var login = document.querySelector('.login');
        var mask = document.querySelector('.login-bg');
        var link = document.querySelector('#link');
        var closeBtn = document.querySelector('#closeBtn');
        var title = document.querySelector('#title');
        //创建点击事件,点击link后,登录框显示
        link.addEventListener('click', function() {
            mask.style.display = 'block';
            login.style.display = 'block';
        })
        //关闭后,登录框隐藏
        closeBtn.addEventListener('click', function() {
            mask.style.display = 'none';
            login.style.display = 'none';
        })
        //鼠标按下,获取登录框位置
        title.addEventListener('mousedown', function(e) {
            var x = e.pageX - login.offsetLeft;
            var y = e.pageY - login.offsetTop;
            //鼠标移动,触发移动事件
            document.addEventListener('mousemove', move)
 
            function move(e) {
                login.style.left = e.pageX - x + 'px';
                login.style.top = e.pageY - y + 'px';
            }
            //鼠标抬起,销毁鼠标移动事件
            document.addEventListener('mouseup', function() {
                document.removeEventListener('mousemove', move);
            })
        })
</scrip>

这样就实现了简单的弹出式可移动登录框。快上手练练吧

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JavaScript在web自动化测试中的作用示例详解

    JavaScript在web自动化测试中的作用示例详解

    这篇文章主要给大家介绍了关于JavaScript在web自动化测试中的作用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • JavaScript实现从数组中选出和等于固定值的n个数

    JavaScript实现从数组中选出和等于固定值的n个数

    这篇文章主要介绍了JavaScript实现从数组中选出和等于固定值的n个数的方法,需要的朋友可以参考下
    2014-09-09
  • 理清apply(),call()的区别和关系

    理清apply(),call()的区别和关系

    如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的事偏偏就发生了,甚至觉得不可理喻.
    2011-08-08
  • 查找JS对象中是否包含某个变量的6种方法总结

    查找JS对象中是否包含某个变量的6种方法总结

    在JavaScript中,我们可以通过多种方法来判断一个数组中是否包含某个特定的值,这篇文章主要给大家介绍了关于如何查找JS对象中是否包含某个变量的6种方法,需要的朋友可以参考下
    2024-08-08
  • Node.js开发指南中的简单实例(mysql版)

    Node.js开发指南中的简单实例(mysql版)

    工作原因需要用到nodejs,于是找到了《node.js开发指南》这本书来看看,作者BYVoid 为清华大学计算机系的高材生,年纪竟比我还小一两岁,中华地广物博真是人才辈出,佩服
    2013-09-09
  • js实现简单的轮播图效果

    js实现简单的轮播图效果

    这篇文章主要为大家详细介绍了js实现简单的轮播图效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Kotlin学习第一步 kotlin语法特性

    Kotlin学习第一步 kotlin语法特性

    Kotlin学习第一步,从kotlin语法特性开始学习,包括变量定义、函数扩展、Parcelable序列化、编写工具类等,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • js截取字符串功能的实现方法

    js截取字符串功能的实现方法

    这篇文章主要为大家详细介绍了js截取字符串功能的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • JavaScript实现打地鼠小游戏

    JavaScript实现打地鼠小游戏

    这篇文章主要为大家详细介绍了JavaScript实现打地鼠小游戏的相关代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • javascript中键盘事件用法实例分析

    javascript中键盘事件用法实例分析

    这篇文章主要介绍了javascript中键盘事件用法,实例分析了键盘事件包含的方法及具体使用技巧,需要的朋友可以参考下
    2015-01-01

最新评论