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 闭包引起的IE内存泄露分析
May 23 Javascript
通过Javascript创建一个选择文件的对话框代码
Jun 16 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
javascript中的作用域和上下文使用简要概述
Dec 05 Javascript
select多选 multiple的使用示例
Jun 16 Javascript
js实现的捐赠管理完整实例
Jan 20 Javascript
JavaScript获取一个范围内日期的方法
Apr 24 Javascript
jquery获取select选中值的方法分析
Dec 22 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
Aug 11 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
基于Webpack4和React hooks搭建项目的方法
Feb 05 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
Dec 23 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可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
小程序实现列表多个批量倒计时
2021/01/29 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
使用python解析xml成对应的html示例分享
2014/04/02 Python
Python实现partial改变方法默认参数
2014/08/18 Python
Python 字典与字符串的互转实例
2017/01/13 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
Python中的整除和取模实例
2020/06/03 Python
跟单文员岗位职责
2014/01/03 职场文书
家长给幼儿园的表扬信
2014/01/09 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python
使用Apache Camel表达REST服务的方法
2022/06/10 Servers
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers