2017-10-09 2 views
-1

Ich habe ein Problem mit der Bootstrap tour.Bootstrap Tour lädt nur, wenn ich die Seite scrollen

Mein Problem

Wenn ich von einer Seite auf die andere umleiten die init Funktion wird aufgerufen, aber nicht automatisch die Tour fortzusetzen. So wird die Bootstrap-Tour nicht angezeigt. Die Seite enthält auch einen AJAX-Rahmen, in dem der Inhalt nach der document.ready geladen wird.

Wenn ich die Seite ein wenig scrolle, nachdem der AJAX-Rahmen geladen wurde, wird die Tour plötzlich angezeigt.

-Code

var quick_tour = undefined, initialized = false; 
$(document).ready(function() { 
    setupTour(); 
}); 

function setupTour() { 
    quick_tour = new Tour({ 
     name: "quick_tour", 
     storage: window.localStorage, 
     steps: [ 
      { 
       element: "#news_container", 
       title: "Part 1", 
       content: "This is the Text number 1", 
       path: "" 
      }, 
      { 
       element: "#brand_title", 
       title: "Part 2", 
       placement: "bottom", 
       content: "And this is number 2", 
       path: "second.php" 
      }, 
     ], 
    }); 
    initTour(); 
} 

function initTour() { 
    if (!initialized) { 
     if (quick_tour === undefined) { 
      setupTour(); 
     } 
     quick_tour.init(); 
     initialized = true; 
    } 
} 

function startTour() { 
    quick_tour.restart(); 
} 

wird also 1 der #news_container für Teil direkt angezeigt werden, nachdem ich auf eine Schaltfläche, die die Funktion startTour() ruft angeklickt. Nach dem ersten Teil wird es auf die zweite Seite umgeleitet. Jetzt wird die Tour nicht angezeigt, nur wenn ich scrollte.

Was kann ich tun? Kann ich vielleicht einen Auslöser erstellen, um die Seite nur ein wenig zu scrollen?

Vielen Dank.

Antwort

0

Nachdem ich einige Versuche mit dem Ereignisauslöser $(window).scroll(); versucht habe, habe ich den Fehler endlich selbst behoben. Jetzt habe ich gerade die Funktion aktualisiert:

function initTour() { 
    if (quick_tour === undefined) { 
     setupTour(); 
    } 
    quick_tour.init(); 
    $(window).scroll(); //Performs an scroll 
} 
Verwandte Themen