打开新窗口时创建叠加层

时间:2015-12-08 22:10:16

标签: javascript jquery css popup overlay

我正在尝试编码或找到代码/插件,以允许以下方案工作...

  

如果我的网页上有一个链接指向外部链接   如果用户返回我的网站,则会为该链接打开一个新窗口   然后会有一个叠加层。这个动作甚至没有   发生在返回动作上,但可能是一个动作   单击,在打开新窗口时放置叠加层。

需要做三件事:

  1. 只有一个链接具有唯一的action / id / class(不能是每个链接)
  2. 当访问者点击此特定链接时,target="_blank"target="_new"会为用户创建新的位置,但
  3. 原始窗口不会丢失,因此如果用户在步骤#2操作发生后再回到窗口,现在会有一个叠加层和消息告诉他们(即注册简报,谢谢访问等)。
  4. 我不介意它是CSS,Javascript还是AJAX修复程序 - 我只是遇到了麻烦。

1 个答案:

答案 0 :(得分:0)

这很简单。确保所有外部链接中都包含target="blank"class="external"。并在您的代码中添加此HTML:

<div class="mask">
  <div class="message"></div>
</div>
.mask {position: fixed; height: 100%; width: 100%; left: 0; top: 0; display: none;}
.mask .message {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}

现在,JavaScript部分:

$(function () {
  // Change ".external" to '[target="_blank"]' for the other way.
  $(".external").click(function () {
    $(".mask").show();
  });
  $(".mask").click(function () {
    $(this).fadeOut();
  });
});