1

我不能让这个 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>

谢谢

4

1 回答 1

1

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

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

例如:

$('[data-src="#newsletterFancy"]')
于 2017-09-13T14:20:53.250 回答