Fancybox 3 延迟加载页面并设置 cookie 不工作

Fancybox 3 on page load with delay and set cookie not working

我无法让这个 jQuery 处理页面加载?我用的是fancybox 3.

<script>
  function openFancybox() {
    setTimeout( function() {
      $('[data-fancybox data-src="#newsletterFancy"]').trigger('click'); 
    }, 20000);
  }

  $(document).ready(function() {
    var visited = $.cookie('visited');
    if (visited == 'yes') {
      return false;
    } else {
      openFancybox();
    }

    $.cookie('visited', 'yes', { expires: 7 });
    $('[data-fancybox data-src="#newsletterFancy"]').fancybox();
  });
</script>

我也将此添加到我的正文标签中:<body OnLoad="openFancybox()" class="body">

我的弹出窗口基本上包含在一个名为 newsletter.php 的包含文件中。当我单击它时,侧边栏中的 link 工作正常。但我想让它在页面加载时弹出并延迟打开,并设置一个 cookie。

我也包含了 cookie js:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> 

这是我在侧边栏中使用的行 link 当您单击它时它会打开:

<a class="buttons" data-fancybox data-src="#newsletterFancy" href="javascript:;">Newsletter Subscribe</a>

谢谢

您根本没有使用有效的选择器。替换

$('[data-fancybox data-src="#newsletterFancy"]')

例如:

$('[data-src="#newsletterFancy"]')