javascript+html5+css3自定义弹出窗口效果


Posted in Javascript onOctober 26, 2017

本文实例为大家分享了js自定义弹出窗口效果展示的具体代码,供大家参考,具体内容如下

效果图:

javascript+html5+css3自定义弹出窗口效果

源码:

1.demo.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>自定义弹出窗口</title>
  <script type="text/javascript" src="js/myLayer.js"></script>
  <style type="text/css">
    button{
      width: 50px;
      height: 50px;
      border: 1px solid blue;
      background-color: blue;
      color: red;
      border-radius: 5px;
      -webkit-box-shadow: 2px 2px 2px gray;
      -moz-box-shadow: 2px 2px 2px gray ;
      box-shadow: 2px 2px 2px gray ;
    }
    button:hover{
      background-color: green;
      cursor: pointer;
    }
  </style>
  <script type="text/javascript">
    function openWindow() {
      new MyLayer({
        top:"10%",
        left:"10%",
        width:"80%",
        height:"80%",
        title:"我的标题",
        content:"操作成功"
      }).openLayer();
    }
  </script>
</head>
<body>
  <button type="button" onclick="openWindow()">打开弹窗</button>
</body>
</html> 

2.myLayer.js

/**
 * Created by zhuwenqi on 2017/6/16.
 */
/**
 * @param options 弹窗基本配置信息
 * @constructor 构造方法
 */
function MyLayer(options) {
  this.options = options ;
}
/**
 * 打开弹窗
 */
MyLayer.prototype.openLayer = function () {
  var background_layer = document.createElement("div");
  background_layer.style.display = "none";
  background_layer.style.position = "absolute";
  background_layer.style.top = "0px";
  background_layer.style.left = "0px";
  background_layer.style.width = "100%";
  background_layer.style.height = "100%";
  background_layer.style.backgroundColor = "gray";
  background_layer.style.zIndex = "1001";
  background_layer.style.opacity = "0.8" ;
  var open_layer = document.createElement("div");
  open_layer.style.display = "none";
  open_layer.style.position = "absolute";
  open_layer.style.top = this.options.top === undefined ? "10%" : this.options.top;
  open_layer.style.left = this.options.left === undefined ? "10%" :this.options.left;
  open_layer.style.width = this.options.width === undefined ? "80%" : this.options.width;
  open_layer.style.height = this.options.height === undefined ? "80%" : this.options.height;
  open_layer.style.border = "1px solid lightblue";
  open_layer.style.borderRadius = "15px" ;
  open_layer.style.boxShadow = "4px 4px 10px #171414";
  open_layer.style.backgroundColor = "white";
  open_layer.style.zIndex = "1002";
  open_layer.style.overflow = "auto";
  var div_toolBar = document.createElement("div");
  div_toolBar.style.textAlign = "right";
  div_toolBar.style.paddingTop = "10px" ;
  div_toolBar.style.backgroundColor = "aliceblue";
  div_toolBar.style.height = "40px";
  var span_title = document.createElement("span");
  span_title.style.fontSize = "18px";
  span_title.style.color = "blue" ;
  span_title.style.float = "left";
  span_title.style.marginLeft = "20px";
  var span_title_content = document.createTextNode(this.options.title === undefined ? "" : this.options.title);
  span_title.appendChild(span_title_content);
  div_toolBar.appendChild(span_title);
  var span_close = document.createElement("span");
  span_close.style.fontSize = "16px";
  span_close.style.color = "blue" ;
  span_close.style.cursor = "pointer";
  span_close.style.marginRight = "20px";
  span_close.onclick = function () {
    open_layer.style.display = "none";
    background_layer.style.display = "none";
  };
  var span_close_content = document.createTextNode("关闭");
  span_close.appendChild(span_close_content);
  div_toolBar.appendChild(span_close);
  open_layer.appendChild(div_toolBar);
  var div_content = document.createElement("div");
  div_content.style.textAlign = "center";
  var content_area = document.createTextNode(this.options.content === undefined ? "" : this.options.content);
  div_content.appendChild(content_area);
  open_layer.appendChild(div_content);
  document.body.appendChild(open_layer);
  document.body.appendChild(background_layer);
  open_layer.style.display = "block" ;
  background_layer.style.display = "block";
};

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

Javascript 相关文章推荐
[JS源码]超长文章自动分页(客户端版)
Jan 09 Javascript
jquery简单体验
Jan 10 Javascript
用JavaScript和注册表脚本实现右键收藏Web页选中文本
Jan 28 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
Jun 25 Javascript
js控制文本框只输入数字和小数点的方法
Mar 10 Javascript
什么是JavaScript中的结果值?
Oct 08 Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 Javascript
jQuery实现简单的计时器功能实例分析
Aug 29 jQuery
Vue-cli-webpack搭建斗鱼直播步骤详解
Nov 17 Javascript
原生js实现trigger方法示例代码
May 22 Javascript
JavaScript this关键字的深入详解
Jan 14 Javascript
js实现简单商品筛选功能
Feb 02 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
Oct 26 #Javascript
JS手机端touch事件计算滑动距离的方法示例
Oct 26 #Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 #Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
Oct 26 #Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
Oct 26 #Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 #Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
Oct 26 #Javascript
You might like
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
php入门教程 精简版
2009/12/13 PHP
PHP自定义函数收代码
2010/08/01 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
php实现加减法验证码代码
2014/02/14 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
2017/12/21 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
python的keyword模块用法实例分析
2015/06/30 Python
python 排序算法总结及实例详解
2016/09/28 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
python实现图片识别汽车功能
2018/11/30 Python
对Python w和w+权限的区别详解
2019/01/23 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
利用Python计算KS的实例详解
2020/03/03 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
新闻专业推荐信范文
2013/11/20 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
大雁塔导游词
2015/02/04 职场文书
运动会致辞稿
2015/07/29 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书