← All examples

JavaScript Ads & clutter

Auto-dismiss modal overlays

Watches the page and hides large fixed high-z-index overlays, unlocking scrolling.

Code to copy

(function () {
  function killOverlays() {
    document.querySelectorAll('div, section, aside').forEach(function (el) {
      var s = getComputedStyle(el);
      var z = parseInt(s.zIndex || '0', 10);
      if ((s.position === 'fixed' || s.position === 'absolute') && z >= 1000) {
        var r = el.getBoundingClientRect();
        if (r.width > window.innerWidth * 0.6 && r.height > window.innerHeight * 0.6) {
          el.style.display = 'none';
        }
      }
    });
    if (document.body) {
      document.body.style.overflow = 'auto';
      document.body.classList.remove('modal-open', 'no-scroll', 'noscroll');
    }
  }
  killOverlays();
  var obs = new MutationObserver(killOverlays);
  obs.observe(document.body, { childList: true, subtree: true });
})();

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases