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 相关文章推荐
javascript json2 使用方法
Mar 16 Javascript
聊一聊JavaScript作用域和作用域链
May 03 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
Nov 23 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
Nov 24 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 Javascript
Vue 组件封装 并使用 NPM 发布的教程
Sep 30 Javascript
vue 地区选择器v-distpicker的常用功能
Jul 23 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
Sep 02 Javascript
基于Vue实现微前端的示例代码
Apr 24 Javascript
vue 判断页面是首次进入还是再次刷新的实例
Nov 05 Javascript
JavaScript 数组去重详解
Sep 15 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数据流应用的简单例子
2012/06/01 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
PHP重载基础知识回顾
2020/09/10 PHP
javascript 全角转换实现代码
2009/07/17 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
前台js对象在后台转化java对象的问题探讨
2013/12/20 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
python 使用get_argument获取url query参数
2017/04/28 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
python tkinter控件布局项目实例
2019/11/04 Python
python 实现二维列表转置
2019/12/02 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
商场活动策划方案
2014/01/24 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
儿子满月酒致辞
2015/07/29 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
2016年社区“6.26”禁毒日宣传活动总结
2016/04/05 职场文书
Spring实现内置监听器
2021/07/09 Java/Android