2017-02-16 2 views
1

У меня есть демо-версия IntroJS, которая отлично работает в JSFiddle.IntroJS, ссылка на ссылку «Нет данных»

Когда я объединить его с моим приложением, кнопка «Нажмите меня, чтобы проверить IntroJS» возвращается: Uncaught ReferenceError: intro is not defined at HTMLButtonElement.onclick

  • Я проверил правильный IntroJS CSS и библиотеки JS загружаются через codepen CDN.
  • Я проверил правописание функции. Кнопка тестового предупреждения запускается правильно.
  • Я пробовал <body> и другие обертки JSfiddle в разделе заголовка HTML Codepen. Ранее я переводил фрагменты из Codepen в JSfiddle, и я знаю об обычных ошибках.

Я думаю, что это проблема с областью, но я не уверен, что делать дальше.

JS здесь, в строке 381

intro = introJs(); 
    intro.setOptions({ 
    'showStepNumbers': false 
    }); 
    intro.start(); 

function testAlert() { 
    alert("alert"); 
}; 

Кнопка здесь:

<button onclick="intro.start();">Click me to Test IntroJS</button> 

full app is here, кнопки находятся на полпути вниз:

+1

codepen работает здесь: http://codepen.io/mayank_shubham/pen/pRBPjr –

+0

Я могу заставить его работать нормально как автономный codepen, а также Shubham, но когда я объединю код с моим большим приложением, кнопки больше не работают. https://codepen.io/Teeke/pen/mRgWLg – RubyRube

+0

, когда вы вызываете 'intro.start()' из обработчика inline-событий, вы должны убедиться, что объект 'intro' определен или открыт в глобальной области (не например, завернутый в обратный вызов DOMContentLoaded). Можете ли вы показать, где ваш объект 'intro' (и' start' function plus related code) определен в вашем реальном приложении? – mrlew

ответ

2

Проблема в codepen примере (https://codepen.io/Teeke/pen/mRgWLg) заключается в том, что в строке 355 имеется ошибка JavaScript:

setText(playButton, "Play");

Переменная playButton не определен. Это предотвращает работу остальной части JavaScript. Как только я прокомментировал все ссылки на playButton, код intro.js выполнен как ожидалось.

+0

У вас действительно острые глаза, :) –

+0

Спасибо clarmond, что работает. Я видел, что ошибка playButton появилась в консоли, но я подумал, что могу просто оставить ее. Я должен помнить, что ошибки в одной области программы Javascript могут вызывать странные ошибки в другой части скрипта. Урок выучен. Приветствия. – RubyRube

Смежные вопросы