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 相关文章推荐
jquery实现的超出屏幕时把固定层变为定位层的代码
Feb 23 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
Mar 05 Javascript
ExtJs事件机制基本代码模型和流程解析
Oct 24 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
Oct 29 Javascript
JS实现探测网站链接的方法【测试可用】
Nov 08 Javascript
jquery实现简单实用的轮播器
May 23 jQuery
基于Bootstrap表单验证功能
Nov 17 Javascript
JS简单添加元素新节点的方法示例
Feb 10 Javascript
微信小程序实现收藏与取消收藏切换图片功能
Aug 03 Javascript
validform表单验证的实现方法
Mar 08 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
May 30 Javascript
浅谈js中的attributes和Attribute的用法与区别
Jul 16 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
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
正则表达式语法
2006/10/09 Javascript
我的论坛源代码(九)
2006/10/09 PHP
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
PHP 加密与解密的斗争
2009/04/17 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
客户端静态页面玩分页
2006/06/26 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
Python生成随机密码
2015/03/10 Python
浅谈Python基础之I/O模型
2017/05/11 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
如何基于python测量代码运行时间
2019/12/25 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
如何手工释放资源
2013/12/15 面试题
广告设计应届生求职信
2014/03/01 职场文书
文案策划求职信
2014/04/14 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
地陪导游欢迎词
2015/01/26 职场文书
建议书范文
2015/02/05 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
python利用while求100内的整数和方式
2021/11/07 Python