2016-03-23 20 views
1

intro.js ile ilgili bir sorun yaşıyorum. Modal üzerinde odaklanmaya çalıştığımda çalışmıyor. Sorunun div olduğunu düşünüyorumIntro.js önyükleme modeliyle ve AJAX

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

:

sayfa yüklendiğinde

, biz AJAX kullandıkları için DOM Modal içermez ve Modal gibi bir metin değişkeninin içerdiği yükleme sırasında mevcut değil.

Birisi bana yardımcı olabilir mi?

Hassas: Modal sayfasını doğrudan sayfaya yazamam.

+0

Görünüşe göre, “intro.js”, DOM hazır olduğunda DOM'ta olmayan öğeyle iyi çalışıyor. Bu gibi: http://jsbin.com/kuhopo/edit?html ,js, çıkış –

+0

Cevabınız için çok "Mosh Feu" teşekkürler; ama üzgünüm, yeterince kesin vermedim. Umarım bir dahaki sefere yeteri kadar ayrıntı veririm. Sadece bir soru: - '$ (' body ') kullandığımızda (modal);
'$ (document) .ready();' olmadan, fonksiyonun daha önce çalıştırıldığından emin misiniz? DOM'ın yüklenmesi? İkinci sorun, modal'ı veri kullanıcısına göre eklememizdir ve modal'ı yüklemeye eklemiyoruz fakat kullanıcılar belirli eylemler gerçekleştirdiğinde (yükü eklemeyi reddediyoruz) ... Yani, koşabiliriz intro.js betikleri aynı anda çalışır ve çalışır mı? Tekrar teşekkürler! – Jobel

+0

Pazar gününe kadar bunu kontrol edemiyorum. O zamana kadar, lütfen özel durumunuza sahip bir snippet veya bin oluşturun, böylece tam olarak gereksinimlerinizi anlayabileyim. –

cevap

3

DOM for elements öğelerini yeniden gözden geçirmek için onbeforechange() öğesini kullanabilirsiniz. Böyle bir şey:

İşte
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; 
    } 

    }); 

}); 

sizin jsbin değiştirilir: https://jsbin.com/kisekofuma/edit?html,js,output

Sen umutla yardımcı olduğunu davranmaya modal ancak bazı CSS ince ayarları gerekebilir.

+0

Görünüşe göre JavaScript "" document.querySelector ('') "' jQuery'nin "$ ('selector') '' ndan daha iyi çalışıyor. – Jobel