Условные предложения в 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, если условие ложно, тогда это добавляет класс, чтобы предотвратить следующее действие кнопки.

Другие вопросы по тегам