2016-03-23 20 views
1

intro.jsで問題が発生しました。 Modalに集中しようとすると機能しません。BootstrapモーダルとAJAXを使用したIntro.js

ページがロードされると、我々はAJAXを使用してModalは、テキストの変数等に含まれているため、DOMはModalが含まれていません:

var Xhtml = '<div class="modal fade".........' 

私はこの問題はdivということだと思い装填中に存在しない。

誰かが私を助けることができますか?

精度:Modalをページに直接書き込むことはできません。

+0

'intro.js'は、DOMを準備しているときにDOMにない要素でうまく動作するようです。 http://jsbin.com/kuhopo/edit?html,js,output –

+0

お返事ありがとうございます "Mosh Feu"しかし、私は申し訳ありません、私は十分な精度を与えていない。私は次回に十分な精度を与えることを願っています。 ちょっと質問: '$(document).ready();'なしで '$( 'body')。append(modal);'を使用すると、関数は前に実行されていますDOMの読み込み? データユーザーに応じてモーダルを追加し、ロード時にモーダルを追加するのではなく、ユーザーが特定のアクションを実行するときに、モーダルを追加するという問題があります(ロードに追加することを拒否します)。 intro.jsスクリプトは同時に動作し、動作しますか?再度、感謝します! – Jobel

+0

日曜日までチェックすることはできません。それまでに、特定のケースでスニペットやビンを作成してください。 –

答えて

3

onbeforechange()を使用して要素のDOMを再検査することができます。このような何か:

introguide.onbeforechange(function(targetElement) { 

    // Cycle through each step as defined in the options 
    introguide._options.steps.forEach(function(value, key) { 

    // Look for the element in the DOM 
    var element = typeof value.element == 'string' ? document.querySelector(value.element) : value.element; 

    // If the element now exists, update the items 
    if (element) { 
     introguide._introItems[key].element = element; 
    } 

    }); 

}); 

ここでは、あなたの修正jsbinです:https://jsbin.com/kisekofuma/edit?html,js,output

あなたがモーダルで動作するように取得するには、いくつかのCSSの調整を必要とするかもしれませんが、うまくいけば、それが役立ちます。

+0

JavaScriptのdocument.querySelector( '') "はjQueryの' $( 'セレクタ')よりも優れているようです。 – Jobel

関連する問題