Zurb Foundation 5 Joyride当cookie_monster为true时重启

时间:2015-03-14 06:28:45

标签: zurb-foundation-5 zurb-joyride

我的兜风很棒。它在页面加载后启动。单击停止按钮或完成巡视时停止。我的重启链接重启了兜风之旅。只有...

添加Joyride设置,cookie_monster: true会阻止每次访问时重新启动游览。好!不幸的是,它还会阻止重启链接工作。这种行为是有道理的。 start函数不知道是在页面加载还是从链接调用它。该链接必须使用其他方法,或设置一些东西绕过cookie检查。

cookie_monster仅限首次展示设备隐藏后,您是否知道让用户启动Joyride的神奇之处?

身体标记:

<a href='#', data-joyride-restart>tips</a>

<p id='first-stop'>First stop content</p>
<p id='second-stop'>Second stop content</p>

<ol class='joyride-list' data-joyride data-joyride-name='my_name',
  data-joyride-autostart='true'>
  <li data-id='first-stop', data-text='Next'>
    <p>First stop tip</p>
  </li>
  <li data-id='second-stop', data-text='Next'>
    <p>Second stop tip</p>
  </li>
  <li data-text='End'>
    <p>Last stop modal tip</p>
  </li>
</ol>

使用Javascript:

;$(function() {
  var tour_root = $('ol[data-joyride]')
  if (tour_root !== undefined){
    var attr = tour_root.attr('data-joyride-name');
    var cookie_name;
    if (attr !== undefined){
      cookie_name = attr;
    } else {
      cookie_name = 'joyride';
    }
    $(document).foundation({
      joyride : {
        'cookie_monster': true,
        'cookie_domain': 'domain.com',
        'cookie_name': cookie_name
      }
    });
    attr = tour_root.attr('data-joyride-autostart');
    if (attr !== undefined && attr.match(/true/i)) {
      $(document).foundation().foundation('joyride', 'start');
    }
  }
  $('a[data-joyride-restart]').on('click', function (e){
    e.preventDefault();
    $(document).foundation().foundation('joyride', 'start');
  });
});

1 个答案:

答案 0 :(得分:0)

写这个问题帮我解决了问题。 (我会留下它,因为我没有找到任何关于这种行为的好例子。)

  $('a[data-joyride-restart]').on('click', function (e){
    e.preventDefault();
    $(document).foundation({
      joyride : {
        'cookie_monster': false
      }
    }).foundation().foundation('joyride', 'start');
  });

在要求Joyride开始之前,代码会重置cookie-monster设置。

如果有更好的方法,请分享爱!