简体   繁体   English

在模态上做一个非常简单的淡入淡出

[英]Doing a very simple fade in and fade out on a modal

I normally use Bootstrap for modals but I had to use code for ADA compliance.我通常将 Bootstrap 用于模态,但我不得不使用代码来实现 ADA 合规性。

I'm trying to create a simple fade-in and fade-out on a modal.我正在尝试在模态上创建一个简单的淡入和淡出。

So, if I click on a button, I can fade into the modal and fade out when closing.所以,如果我点击一个按钮,我可以淡入模态并在关闭时淡出。

Below is my scss下面是我的 scss

.dialog-backdrop {
  display: none;
  position: fixed;
  overflow-y: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}


@media screen and (min-width: 640px) {
  .dialog-backdrop {
    /*background: rgba(0, 0, 0, 0.3);*/
    background: rgba(0, 14, 51, 0.8);
  }
}

.dialog-backdrop.active {
  display: block;
}

.no-scroll {
  overflow-y: auto !important;
}

/* this is added to the body when a dialog is open */
.has-dialog {
  overflow: hidden;
}

.modal {
  position: absolute;
  z-index: 1000;
  width: calc(100% - 30px);
  max-width: 1112px;
  height: 789px;
  max-height: 789px;
  left: 50%;
  transform: translate(-50%,0);
  top: 100px;
  background: #f6f6f6;
  box-sizing: border-box;
  padding: 15px;

  &.hidden{
    display: none;
  }

  *::-webkit-scrollbar {
    display: initial;
  }

js code js代码

  window.openDialog = function (dialogId, focusAfterClosed, focusFirst) {
    var dialog = new aria.Dialog(dialogId, focusAfterClosed, focusFirst);
  };

  window.closeDialog = function (closeButton) {
    var topDialog = aria.getCurrentDialog();
    if (topDialog.dialogNode.contains(closeButton)) {
      topDialog.close();
    }
  }; // end closeDialog

and html和 html

  <div id="dialog_layer" class="dialogs">
    <div class="dialog-backdrop zmax">
      <div tabindex="0"></div>
      <div id="dialog1" role="dialog" aria-modal="true" aria-label="Partner Search" class="hidden modal">
        <img src="img/modal/close-icon.svg" class="closeModal" alt="Close" onclick="closeDialog(this)" />
        <div class="modalContent">

          <form autocomplete="off" action="">
            <div id="search" class="autocomplete search">
              <img src="img/modal/magnifier.svg" alt="Search" />
              <input id="myInput" type="text" placeholder="Search our participating banks or corporations" />
            </div>
          </form>


          <div class="resultsContent">
            <div id="bankRegions" class="bankRegions">
              <ul>
                <li id="All">All (416)</li>
                <li id="North America">North America (12)</li>
                <li id="Latin America">Latin America (50)</li>
              </ul>
            </div>

            <div id="modalResults" class="modalResults">
              <div class="copyList">Copy List</div>
              <div id="resultsList" class="resultsList">
                <ul id="banks">
                </ul>
              </div>
            </div>
          </div>
        </div>
        <div class="ribbonModal">
          <span class="ribbonModalText">
            More partners are being added around the world.
          </span>
          <span class="ribbonJoinThem">
            Join Them <img src="img/modal/arrow.svg" class="ribbonArrow" alt="Join Them" />
          </span>
        </div>
      </div>
    </div>
  </div>

If anyone can help.如果有人可以帮忙。 I know this may be easy, but I'm on a deadline with this and other items.我知道这可能很容易,但我在这个和其他项目的最后期限。

Thanks.谢谢。

您可以使用 jQuery,它有一个对您有用的.hide()方法!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM