【问题标题】:How to disable/enable popup with Jekyll如何使用 Jekyll 禁用/启用弹出窗口
【发布时间】:2018-09-13 09:29:44
【问题描述】:

我的网站中有一个弹出窗口,当您第一次进入时会出现。我希望允许在需要时禁用或启用该选项。它是“包含”中的 .yml 文件,我正在使用 Magnific Pop-Up。

这是 JS 代码:

$(document).ready(function() {
  $(window).on('load', function() {
    var now, lastDatePopupShowed;
    now = new Date();

    if (localStorage.getItem('lastDatePopupShowed') !== null) {
      lastDatePopupShowed = new Date(parseInt(localStorage.getItem('lastDatePopupShowed')));
    }

    if (((now - lastDatePopupShowed) >= (15 * 86400000)) || !lastDatePopupShowed) {
      $.magnificPopup.open({
        items: {
          src: '#launch-popup'
        },
        type: 'inline'
      }, 0);

      localStorage.setItem('lastDatePopupShowed', now);
    }
  });
});

我很想听听你关于如何解决它的想法。

【问题讨论】:

  • 你的意思是用配置标志禁止它加载?

标签: javascript popup jekyll magnific-popup


【解决方案1】:

解决方案

使用 if 语句将弹出窗口本身包装在 Jekyll 包含中。

{% If page.popup-turned-on == true %} 

... Code for pop up 

{% endif %}

然后,在前面添加以下内容:

popup-turned-on: true 

编码愉快!

【讨论】:

  • 您可能希望将其包装在准备好的文档中...但是是的...这基本上就是我的意思。太好了,你成功了! +1
【解决方案2】:

我会这样做:

$(document).ready(function() {
  $(window).on('load', function() {
    {% if site.popup %}
      /*.. JS code for popup ..*/
    {% endif %}
  });
});

在你的 _config.yml 中:

popup: true

【讨论】:

  • 谢谢,但它不起作用。它禁用了我所有的弹出窗口。不知道有没有另一种通过.js代码添加变量的方法?
  • 你能具体说明什么不起作用吗?液体被解析了吗? site.popup 变量是否为假?您能否提供更多详细信息和/或存储库?
  • 您好!很抱歉回复得太晚了,但我的一个朋友向我展示了一个解决方案。在下面分享,以便将来对某人有所帮助!
猜你喜欢
  • 1970-01-01
  • 2016-12-17
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
相关资源
最近更新 更多