My Joyride效果很好。 它在页面加载后启动。 当单击停止按钮或完成游览时,它会停止。 我的重启链接将重启欢乐之旅。 只。。。
添加 Joyride 设置,cookie_monster: true
防止每次访问时重新开始游览。好!不幸的是,它也会阻止重新启动链接工作。这种行为是有道理的。 start 函数不知道它是在页面加载时还是从链接调用。 该链接必须使用其他方法,或设置某些内容以绕过cookie检查。
您知道使用户能够在 Joyride 被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');
});
});
写这个问题帮助我解决了这个窍门。 (我会把它贴出来,因为我没有找到任何关于这种行为的好例子。
$('a[data-joyride-restart]').on('click', function (e){
e.preventDefault();
$(document).foundation({
joyride : {
'cookie_monster': false
}
}).foundation().foundation('joyride', 'start');
});
该代码在要求 Joyride 启动之前重置cookie-monster
设置。
如果有更好的方法,请分享爱!