1

div、ng-class、ng-style、および css3 スタイルのみを使用して、ポップアップと背景画面を無効にしたいと考えています。BOOTSTRAP MODAL を使用したくありません。私はこの仕事を手に入れるのに苦労してきました。ポップアップを表示および非表示にしようとしていますが、ポップアップを表示せずに画面を無効にするだけです。以下はコードです

HTML コード

<div id="popupBackGround" class="popupModal-backdrop" ng-if="newUser===true" ng-style="{'display': (newUser===false || newUser===undefined) ? 'none':'block'}">
<div id="popupBackGroundDialog" class="popupModal-dialog">
    <div class="popupModal-content">
        <div class="popupModal-body">
           <p style="margin-left: 20px;">
                            <strong>Is this user transferring from another Dept?</strong>
           </p>
           <p style="margin-left: 40px;">
                <input ng-click="" name="transfer" value="Yes" type="radio"> <strong>Yes</strong>
           </p> 
           <p style="margin-left: 40px;">
                <input ng-click="" name="transfer"  value="No" type="radio"> <strong>No</strong>
          </p>
          <p align= "center">
          <button class="btn btn-primary" ng-click="ok()">OK</button>
          </p>
        </div>                          
    </div>
</div>
</div>

CSS コード

.popupModal-dialog {
  position: absolute;
  width: 40%;
  margin-left: 400px;
  margin-right: 400px;
  margin-top: -430px;
  opacity: "0"
}
.popupModal-content {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #999999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: none;
}
.popupModal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000000;
  display: none;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.popupModal-body {
  position: relative;
  padding: 20px;
} 

どんな助けでもいただければ幸いです

4

1 に答える 1

1

少し単純化します.2つのメカニズムが同じ仕事をしているようです(ng-ifng-style)。

<div ng-app>
  <button ng-click="showModal=1">Show modal</button>

  <div id="popupBackGround" class="popupModal-backdrop" ng-if="showModal"></div>

  <div id="popupBackGroundDialog" class="popupModal-dialog" ng-show="showModal">
    <div class="popupModal-content">
      <div class="popupModal-body">
        <p style="margin-left: 20px;">{{showModal}}</p>
        <p>
          <button ng-click="showModal=0">Hide modal</button>
        </p>
      </div>
    </div>
  </div>
</div>

デモ

CSSも簡素化しました。

于 2016-02-05T18:32:43.323 に答える