Условные предложения в intro.js
У меня есть проблема, и я не могу найти никакого решения, используя introjs для создания условий перед переходом к следующему этапу пользовательского тура. Я нашел альтернативное lib Slideshow что-то вроде этого (завершение условий):
steps: [
{
title: "Choose a name for your project",
text: "Enter a name for your project.",
completingConditions: [
function(){
return $("#project_name").val().length > 5;
}
]
},
//...
но эта библиотека не может перемещаться по страницам, поэтому она не соответствует моим требованиям.
Есть ли способ ввести условные выражения во вступление? Или, может быть, любой другой подобный js lib?
1 ответ
Я сделал что-то сам:
Делать такие шаги:
steps: [
{
intro: "Start tour !"
},
{
element: document.querySelector('#addPrice'),
intro: "test",
position: 'right',
condition: function(){
if($scope.test.length > 0){
return true;
}else{
return false;
}
}
}, ......
Я добавил свойство условия как функцию, затем в файле intro.js в строке 755 я расширил проверку состояния:
if(typeof(targetElement.condition) == "function"){
if(targetElement.condition()){
nextTooltipButton.className += " " + "introjs-disabled";
}
}
End, если условие ложно, тогда это добавляет класс, чтобы предотвратить следующее действие кнопки.