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 相关文章推荐
两个listbox实现选项的添加删除和搜索
Mar 01 Javascript
javascipt基础内容--需要注意的细节
Apr 10 Javascript
Js日期选择器并自动加入到输入框中示例代码
Aug 02 Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
详谈JavaScript 匿名函数及闭包
Nov 14 Javascript
简述jQuery ajax的执行顺序
Jan 05 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
Aug 25 Javascript
详解webpack3编译兼容IE8的正确姿势
Dec 21 Javascript
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
vue父组件异步获取数据传给子组件的方法
Jul 26 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
Sep 14 Javascript
js观察者模式的弹幕案例
Nov 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/07/31 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
Javascript读取cookie函数代码
2010/10/16 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
网站接入QQ登录的两种方法
2014/07/22 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
详解Python文本操作相关模块
2017/06/22 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
python and or用法详解
2019/06/26 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
亲子拓展活动方案
2014/02/20 职场文书
事业单位竞聘上岗实施方案
2014/03/28 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
如何在python中实现ECDSA你知道吗
2021/11/23 Python
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js