原生JS可拖动弹窗效果实例代码


Posted in Javascript onNovember 09, 2013

这个代码不是我原创的,只是最近想学自己做一个很漂亮的弹窗,自己本来是不会怎么写的,所以上网去找了下,感觉这个不错,很简单,很实用,入门很棒。我就改了下,使逻辑性和可读性更好。

原作者已不可考。感谢原作者,阿门。

 

原生JS可拖动弹窗效果实例代码

原生JS可拖动弹窗效果实例代码

<html>
    <head>
        <meta http-equiv="Content-Type"content="text/html; charset=gb2312"/>
        <meta name="author" content="www.newxing.com" />
        <meta name="author email" content="123@linhaibo.com" />
        <title>弹出窗口登录效果</title>
        <style>
   body,#Mdown {
    margin: 0;
    padding: 0;
    text-align: center;
    font: normal 14px/180% Tahoma,sans-serif;
   }
   #loginBox {
    margin: 0 auto;
    padding: 0px;
    text-align: left;
    width: 280px;
    height: 150px;
    background: #EAEEFF;
    font-size: 9pt;
    border: 1px solid #829AFF;
    overflow: hidden;
    filter: alpha(opacity=90);
    opacity: 1;
   }
   #loginBox .title {
    text-align: left;
    padding-left: 10px;
    font-size: 11pt;
    border-bottom: 1px solid #829AFF;
    height: 25px;
    line-height: 25px;
    cursor: move;
   }
   #loginBox .t1 {
    float: left;
    font-weight: bold;
    color: #AA7B7B;
    text-decoration: none;
   }
   #loginBox .t2 {
    float: right;
    text-align: center;
    line-height: 18px;
    height: 18px;
    width: 18px;
    margin-top: 3px;
    margin-right: 2px;
    overflow: hidden;
    border: 1px solid #FF5889;
    background: #FFE0E9;
    cursor: pointer;
   }
   #loginBox .login {
    text-align: center;
    width: 100%;
    height: 100%;
   }
   input.submit {
    float: right;
    border: 1px solid #829AFF;
    FONT-SIZE: 9px;
    background: #EAEEFF;
    HEIGHT: 20px;
    margin-top: 5px;
    margin-right: 70px;
   }
   #bgDiv {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    background-color: #777;
    opacity: 0.7;
   }
        </style>
    </head>
 <body>
  <div id="bgDiv" style="display:none;">        </div>
     <a href="javascript:" onClick="bgDiv.style.display='';loginBox.style.display='';">登录</a>
        <div id="loginBox" style="position:absolute; left:367px; top:150px; z-index:1;display: none;" >
            <div class="title" id="Mdown">
                <span class="t1">登录</span>
                <span class="t2" title="关闭" onClick="login.style.display='none';bgDiv.style.display='none'">X</span>
            </div>
            <div class="login">
                <form method="post" action="#">
                    <table>
                        <tr>
                            <td>用户名:</td><td><input type="text"name="username" size="12" maxlength="10"></td>
                        </tr>
                        <tr>
                            <td>密 码:</td><td><input type="text"name="password" size="12" maxlength="10"></td>
                        </tr>
                        <tr>
                            <td></td><td><button class="submit" type="submit">登陆</button></td>
                        </tr>
                    </table>
                </form>
            </div>
        </div>
    <script type="text/javascript">
   var IsMousedown, LEFT, TOP, login;
   document.getElementById("Mdown").onmousedown=function(e) {
    login = document.getElementById("loginBox");
    IsMousedown = true;
    e = e||event;
    LEFT = e.clientX - parseInt(login.style.left);
    TOP = e.clientY - parseInt(login.style.top);
    document.onmousemove = function(e) {
     e = e||event;
     if (IsMousedown) {
      login.style.left = e.clientX - LEFT + "px";
      login.style.top = e.clientY - TOP + "px";
     }
    }
    document.onmouseup=function(){
     IsMousedown=false;
    }
   }
        </SCRIPT>
</body>
</html>
Javascript 相关文章推荐
jsPDF导出pdf示例
May 02 Javascript
node.js中的path.resolve方法使用说明
Dec 08 Javascript
JavaScript中的类数组对象介绍
Dec 30 Javascript
jQuery 选择器详解
Jan 19 Javascript
AngularJS的表单使用详解
Jun 17 Javascript
深入理解node exports和module.exports区别
Jun 01 Javascript
JS实战篇之收缩菜单表单布局
Dec 10 Javascript
Bootstrap CSS组件之大屏幕展播
Dec 17 Javascript
从零开始做一个pagination分页组件
Mar 15 Javascript
详解如何在Vue2中实现组件props双向绑定
Mar 29 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
Apr 11 Javascript
当鼠标移动时出现特效的JQuery代码
Nov 08 #Javascript
window.onresize 多次触发的解决方法
Nov 08 #Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 #Javascript
setTimeout和setInterval的深入理解
Nov 08 #Javascript
如何获取select下拉框的值(option没有及有value属性)
Nov 08 #Javascript
jquery ajax修改全局变量示例代码
Nov 08 #Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 #Javascript
You might like
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
php中关于socket的系列函数总结
2015/05/18 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
关于JavaScript的一些看法
2009/05/27 Javascript
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
vue 中directive功能的简单实现
2018/01/05 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
Python随机读取文件实现实例
2017/05/25 Python
点球小游戏python脚本
2018/05/22 Python
Python判断telnet通不通的实例
2019/01/26 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
历史学专业个人的自我评价
2013/10/13 职场文书
信息管理员岗位职责
2013/12/01 职场文书
采购部主管岗位职责
2014/01/01 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
mysql知识点整理
2021/04/05 MySQL
python中tkinter复选框使用操作
2021/11/11 Python