初学js BOM 实现窗口居中

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>

    <style>
      * {
        margin: 0;
        padding: 0;
      }

      .alert {
        width: 300px;
        height: 150px;
        box-shadow: 0 1px 1px 1px #ccc;
        padding: 10px;
        display: none;
       
      }

      .title {
        height: 40px;
        line-height: 40px;
        position: relative;
      }

      .title span {
        position: absolute;
        right: 0;
        top: 0;
      }

      .content {
        font-size: 14px;
        height: 75px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
      }

      .button {
        text-align: right;
      }

      .button button {
        height: 35px;
        line-height: 35px;
        width: 80px;
      }
    </style>
  </head>

  <body>
    <div class="alert">
      <div class="title">
        提示:

        <span>X</span>
      </div>
      <div class="content">
        提示的内容...
      </div>
      <div class="button">
        <button>确定</button>
      </div>
    </div>

    <button id="btnShow">显示弹出框</button>
    <button id="no_btn">取消</button>
  </body>

  <script>
      var btnShow = document.querySelector('#btnShow')
      var noBtn = document.querySelector('#no_btn')
      var alert = document.querySelector('.alert')


      btnShow.addEventListener('click',show) 
         
      
      function show(){
        alert.style.display = 'block'    
          var h = window.innerHeight
          var w = window.innerWidth

          var rules = window.getComputedStyle(alert)
          var selfW = rules.width
          var selfH = rules.height
          
          var left = (w -parseFloat(selfW) )/2
          var top = (h -parseFloat(selfH) )/2

          alert.style.left = left + 'px'
          alert.style.top = top + 'px'
          alert.style.position =  'absolute';
      }

      
      noBtn.addEventListener('click',function(){
        alert.removeAttribute('style')             
      })
      

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值