Javascript IntroJS条件步骤

Javascript IntroJS条件步骤,javascript,jquery,html,intro.js,Javascript,Jquery,Html,Intro.js,我有一个表单,其中一些字段只有在选中复选框时才可见。我想引导用户使用IntroJS演示 有没有一种方法可以将条件步骤添加到Intro JS中 以下是如何定义步骤。 仅当选中特定复选框时,才应显示步骤4 intro.setOptions({ steps: [ { intro: "Hi! Lets start personilizing your settings. Click 'Next' to beg

我有一个表单,其中一些字段只有在选中复选框时才可见。我想引导用户使用IntroJS演示

有没有一种方法可以将条件步骤添加到Intro JS中

以下是如何定义步骤。 仅当选中特定复选框时,才应显示步骤4

intro.setOptions({
            steps: [
                {
                    intro: "Hi! Lets start personilizing your settings. Click 'Next' to begin."
                },
                {
                    element: document.querySelector('#step1'),
                    intro: "Enter the email address where you would like to receive alerts. (for multiple user semi colon ';' as separator)",
                },
                {
                    element: document.querySelectorAll('#step2')[0],
                    intro: "Select your time zone.",
                    position: 'left'
                },
                {
                    element: '#step3',
                    intro: 'Turn \"On\" to receive payment reminder alerts.',
                    position: 'left'
                },
                {
                    element: '#step4',
                    intro: 'Select a \"Fee Type\". (The setting defines the type of fee to be applied to past due accounts.)'
                }
            ]
        });

以下是指向JSFIDLE的链接:

关键是在隐藏元素时拼接步骤数组

var btn1=document.getElementById(“step1”);
var btn2=document.getElementById(“开始”);
var div=document.getElementById(“步骤2”);
btn1.onclick=函数(){
如果(div.style.display!=“无”){
div.style.display=“无”;
}否则{
div.style.display=“块”;
}
};
//这是关键部分
btn2.onclick=函数(){
变步长=[
{元素:#步骤1),介绍:“按钮”,位置:“右”},
{元素:“#步骤2”,简介:“这有时会消失”}
];
如果(div.style.display==“无”){
步骤.拼接(1,1);
}
introJs().setOptions({
步骤:步骤
}).start();
}

一些文本
按我隐藏div
按我开始介绍

Steps接受JSON对象,因此您可以使用所需的步骤动态创建JSON对象,并将其传递给Steps。当我在电脑前时,我会发布一个答案。