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 中的内存泄露模式
Aug 13 Javascript
DWZ刷新dialog解决方法
Mar 03 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
Javascript中对象继承的实现小例
May 12 Javascript
js实现飞入星星特效代码
Oct 17 Javascript
jquery实现触发时更新下拉列表内容的方法
Dec 02 Javascript
BootStrap智能表单实战系列(七)验证的支持
Jun 13 Javascript
jQuery实现div横向拖拽排序的简单实例
Jul 13 Javascript
vue2.0+webpack环境的构造过程
Nov 08 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
Mar 05 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
jquery插件实现搜索历史
Apr 24 jQuery
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
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
canvas 弹幕效果(实例分享)
2017/01/11 Javascript
HTML的select控件美化
2017/03/27 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
python Django连接MySQL数据库做增删改查
2013/11/07 Python
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
python计算auc指标实例
2017/07/13 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
索尼巴西商店:Sony巴西
2019/06/21 全球购物
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
医科大学生毕业的自我评价分享
2013/11/12 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
蓬莱阁导游词
2015/02/04 职场文书
建国大业观后感
2015/06/01 职场文书
2015大一新生军训感言
2015/08/01 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers