页面加载时Fancybox 3延迟并设置cookie不起作用

时间:2017-09-13 09:10:31

标签: php jquery html fancybox-3

我无法让这个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的包含文件中弹出。当我点击它时,我的侧边栏中的链接工作正常。但是我想让它在页面加载时弹出并打开延迟,并且还要设置一个cookie。

我也包括了cookie js:

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

这是我在侧边栏链接中使用的行,以便在您点击它时打开它:

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

由于

1 个答案:

答案 0 :(得分:1)

您根本就没有使用有效的选择器。取代

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

,例如:

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