繁体   English   中英

使用 vanilla javascript 切换模式

[英]Toggle modal with vanilla javascript

我习惯于使用 jQuery,但我正在尝试回到 vanilla javascript。 我有一个链接,点击后会显示一个帐户模式。

我还想在单击“模态可见”时更改模态的类。 这按预期工作,但是当我再次单击链接关闭模态时,我需要该类更改回“模态隐藏”。

我想知道是否有人可以帮助我。 也许它需要一个切换?

var accountModal = document.getElementById("account-modal");
document.querySelector('#account-photo').addEventListener('click', function(e) {
    e.preventDefault();
    accountModal.classList.add('modal-visible');
    accountModal.classList.remove('modal-hidden');
    accountModal.setAttribute('aria-hidden', 'false');
});

<a id="account-photo" href="/customer" tabindex="0" aria-expanded="false">Account</a>
<div id="account-modal" class="modal-visible" aria-label="Account Information" aria-hidden="false">Account Info</div>

如果我们假设它总是开始关闭,这是一种方法:

document.querySelector('#account-photo').addEventListener('click', function() {var is_visible = false; return function(e) {
    e.preventDefault();
    if(!is_visible) {
      accountModal.classList.add('modal-visible');
      accountModal.classList.remove('modal-hidden');
      accountModal.setAttribute('aria-hidden', !is_visible);
      is_visible = true;
    } else {
      accountModal.classList.remove('modal-visible');
      accountModal.classList.add('modal-hidden');
      accountModal.setAttribute('aria-hidden', !is_visible);
      is_visible = false;
    }
}});

此方法基本上充当手动编码的切换。

暂无
暂无

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

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