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实现div浮动在网页最顶上并带关闭按钮效果实例
Aug 13 Javascript
什么是Node.js?Node.js详细介绍
Jun 01 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
Mar 30 Javascript
基于canvas实现的绚丽圆圈效果完整实例
Jan 26 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
Aug 11 Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 Javascript
AngularJS的Filter的示例详解
Mar 07 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
Mar 09 Javascript
JS简单实现滑动加载数据的方法示例
Oct 18 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 Javascript
vue+elementUI 实现内容区域高度自适应的示例
Sep 26 Javascript
vue使用video插件vue-video-player的示例
Oct 03 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
两个Javascript小tip资料
2010/11/23 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
js继承实现方法详解
2016/12/16 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
深入理解Promise.all
2018/08/08 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
小程序实现搜索框
2020/06/19 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
python中正则表达式的使用方法
2018/02/25 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
马来西亚网上购物:Youbeli
2018/03/30 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
销售文员岗位职责
2013/11/29 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
超市促销活动方案
2014/03/05 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书