使用intro.js进行多次旅行
Multiple tours with intro.js
我们希望为web应用程序提供一个通用的多页面教程和特定页面教程。多页的一个正在运行,特定于页面的一个也会触发,但同时调用两个巡回数据对象。有没有办法在同一页面上进行多次旅行?
function initTours(){
// Start intro tour
document.getElementById('startIntro').onclick = function() {
introJs().setOption('doneLabel', 'Next page').start('.intro-farm').oncomplete(function() {
window.location.href = 'nav_season.php?multipage=true';
});
};
var tourStep = $('.content .intro-farm').attr('data-step');
var nextLink = $('#nextTourLink').attr('href');
if (RegExp('multipage', 'gi').test(window.location.search)) {
introJs().setOption('doneLabel', 'Next page').goToStep(tourStep).start('.intro-farm').oncomplete(function() {
window.location.href = nextLink+'?multipage=true';
});
}
//Page specific
if ($('.page-tour').length > 0){
//Page specific tour
$('.pageHelp').on('click',function() {
introJs().start('.page-tour');
});
} else {
$('.pageHelp').on('click',function(){
$('#messageModal .row').html("<p>We don't have help tips for this page, but if you are stuck, please don't hesitate to <a href='#'>contact us</a>.</p>")
$('#messageModal').foundation('reveal', 'open');
});
}
}
当然,你可以在同一个页面中有多个tour,但你应该检查页面的url,并设置一个条件,防止再次调用第一个tour。
例如,假设您的页面是boo.php
,那么对于第一个教程,您应该检查window.location.pathname
是否等于boo.php
,然后向用户显示第一个教程。重定向到下一个页面(例如boo.php?anotherPage=true
)后,再次检查页面的url,并向用户显示下一个教程。
您可能希望使用Programmatic方式定义步骤,这样您就可以随心所欲地定义步骤。如果我正确理解你的话,你的旅程都捕捉到了所有的步骤,对吗?
查看以下代码。它运行良好。
if (RegExp('multipage', 'gi').test(window.location.search)) {
introJs().setOption('doneLabel',
'Your next Page → (Name of Page)').start().oncomplete(function() {
window.location.href = 'nextpage.html?multipage=true';
});
}
相关文章:
- 使Intro.js工具提示响应
- 节点JS:时间机器坏了——timekeeper.travel不做时间旅行
- POST后徒步旅行DIV
- JavaScript日期接收为像这次旅行一样的对象.日期:“/日期(1426530600000)/”;
- Javascript旅行计算器不起作用
- 如何获取所有旅行模式的距离和持续时间,例如驾驶,公交,骑自行车,在我的页面中步行以及将其存储在数据库中
- 如何让Intro.js选择页面加载后动态生成的元素
- 在IE11中,点击next或back按钮,使用intro.js打开一个新页面
- Google Maps Javascript API v3 渲染将旅行模式组合在一条路线中
- 如何使用 redux 时间旅行并将其绑定到 ctrl + z 和 ctrl + shift + z 键绑定
- ng-intro 表达式 'undefined' 与指令 'ngIntroOptions'
- Intro.js更改工具提示位置
- 使用intro.js进行多次旅行
- 属性<的值无效;旅行模式>:未定义,什么
- 使用谷歌地图api 3获取给定起点和终点的总旅行持续时间
- 如何在数据表的行和列中获取intro.js的流
- 引导程序3:第一个和最后一个项目的徒步旅行转盘控件不起作用
- 使用Intro.js时,如何调整特定步骤的工具提示样式
- 重新加载方法:响应文本与窗口.位置.href(1 次旅行与 2 次)
- onbeforechange callback for intro.js