Zoom and Blur Модальное Вложение - PullRequest
0 голосов
/ 12 июня 2019

Просто пытаюсь создать модал, который увеличивает и размывает фон.

Я расширил его, чтобы заставить работать несколько модалов.

См. Скрипку: https://jsfiddle.net/postcolonialboy/9jq84p1h/144/

Основано на avgrund от hakim https://lab.hakim.se/avgrund/

! function(a) {
  a.fn.vcModal = function(b) {
    function m() {
      a(document).on("click touchstart", n), a(document).on("keyup", o), f.show().addClass("avgrund-popup-animate"), f.addClass("no-transition"), setTimeout(function() {
        f.removeClass("no-transition"), e.addClass("avgrund-active")
      }, 0)
    }

    function n(b) {
      a(b.target).hasClass("avgrund-cover") && p()
    }

    function o(a) {
      27 === a.keyCode && p()
    }

    function p(b) {
      a(document).off("click touchstart", n), a(document).off("keyup", o), e.removeClass("avgrund-active"), f.removeClass("avgrund-popup-animate"), b.preventDefault()
    }
    var c = this;
    a.extend({
      container: ".avgrund-container",
      param: "value"
    }, b);
    var e = a(document.documentElement).addClass("avgrund-ready"),
      f = c.find(".avgrund-popup"),
      g = a(this).data("width");
    "on" != c.data("loadedvisible") && f.hide(), f.css({
      padding: "0",
      color: c.data("textcolor"),
      background: c.data("background"),
      "margin-top": c.data("margintop")
    }), "string" == typeof g ? (g = g.replace(/[^\d\.]/g, ""), f.css({
      width: c.data("width"),
      "margin-left": .5 * -g + "%"
    })) : f.css({
      "margin-left": .5 * -g,
      width: c.data("width")
    }), a(".avgrund-cover").each(function(b) {
      b > 0 && a(this).remove()
    });
    var h = c.find(".avgrund-cover"),
      i = c.find(".avgrund-btn"),
      j = i.next(".vc_btn"),
      k = c.find(".avgrund-close");
    return f.insertAfter("body"), h.insertAfter("body"), k.on("click", p), j[0] && j.on("click", function(a) {
      m(), a.preventDefault()
    }), i.on("click", function(a) {
      m(), a.preventDefault()
    }), this
  }
}(jQuery), jQuery(document).ready(function(a) {
  a(".avgrund-container").each(function() {
    a(this).vcModal()
  })
});

Может ли кто-нибудь помочь получить вложенные несколько модалов для повторного увеличения и размытия всего при всплывающем окне?

Thx

...