前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript自定义对话框(包括但不限于 HTML,CSS,JavaScript)

JavaScript自定义对话框(包括但不限于 HTML,CSS,JavaScript)

作者头像
xlj
发布2021-07-14 12:12:22
7650
发布2021-07-14 12:12:22
举报
文章被收录于专栏:XLJ的技术专栏XLJ的技术专栏

简述

JavaScript 自定义对话框,html5自适应对话框,不采用任何外部框架,纯 JavaScript

代码

./index.html

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>自定义对话框</title>
</head>
<body id="Body">
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    html,body {
      height: 100%;
    }

    body{
      font-size: 18px;
      position: relative;
    }

    div#Container {
      text-align: center;
      padding: 10% 0;
    }

    span#Button {
      font-size: 24px;
      background-color: #eeeeee;
      padding: 6px 10px;
      user-select: none;
      cursor: pointer;
      border: 1px solid #dddddd;

      transition: all 100ms linear;
    }
    span#Button:hover {
      background-color: #ffffff;
      transition: all 100ms linear;
      border: 1px solid #dddddd;
    }

    div#Dialog {
      background-color: #dddddd;
      width: 300px;
      height: 200px;
      display: inline-block;
      padding: 6px 10px;
      border-radius: 4px;
      position: absolute;
      left: 50%;
      margin-left: -160px;
      top: 50%;
      margin-top: -100px;
      display: none;
    }
    div#Dialog div#dialogHeader {
      text-align: center;
      padding: 4px 0;
      font-size: 26px;
      user-select: none;
      cursor: pointer;
    }
    div#Dialog div#dialogFooter {
      position: absolute;
      bottom: 0;
      padding: 6px 10px;
      font-size: 24px;
      width: 280px;
      /* text-align: center; */
      display: inline-block;
    }
    div#Dialog > div#dialogFooter > span#dialogButtonA {
      display: inline-block;
      width: 135px;
      text-align: center;
      user-select: none;
      cursor: pointer;

      transition: all 100ms linear;
    }
    div#Dialog > div#dialogFooter > span#dialogButtonA:hover {
      background-color: #aaaaaa;

      transition: all 100ms linear;
    }
    div#Dialog > div#dialogFooter > span#dialogButtonB {
      display: inline-block;
      width: 135px;
      text-align: center;
      user-select: none;
      cursor: pointer;

      transition: all 100ms linear;
    }
    div#Dialog > div#dialogFooter > span#dialogButtonB:hover {
      background-color: #aaaaaa;
      
      transition: all 100ms linear;
    }
  </style>

  <div id="Container">
    <span id="Button">弹出对话框</span>
  </div>

  <div id="Dialog">
    <div id="dialogHeader">
      对话框
    </div>
    <div id="dialogBody">
      对话框的内容,提示信息等等...
    </div>
    <div id="dialogFooter">
      <span id="dialogButtonA">确定</span>
      <span id="dialogButtonB">取消</span>
    </div>
  </div>

  <script src="js/main.js"></script>
</body>
</html>

./js/main.js

代码语言:javascript
复制
document.getElementById('Button').onclick = function () {
    // 显示对话框
    document.getElementById('Dialog').style.display = 'inline-block';
}

// 确定 按钮点击事件
document.getElementById('dialogButtonA').onclick = function () {
    // 关闭对话框
    document.getElementById('Dialog').style.display = 'none';
}
// 取消 按钮点击事件
document.getElementById('dialogButtonB').onclick = function () {
    // 关闭对话框
    document.getElementById('Dialog').style.display = 'none';
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简述
  • 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档