I have the following very simple demo set up on my site and in this fiddle. It's virtually identical to the official demo. In neither case do I get a tour. What am I missing?
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-tour/0.8.1/css/bootstrap-tour.min.css">
<link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script type='text/javascript' src='http://code.jquery.com/jquery-git.js'></script>
<script type='text/javascript' src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script type='text/javascript' src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-tour/0.8.1/js/bootstrap-tour.min.js"></script>
<button class="btn" id="tour-go">Start the tour!</button>
<form>
<input id="one" value="one" />
<input id="two" value="two" />
<input id="three" value="three" />
</form>
$(function () {
var tour = new Tour({
steps: [{
element: "#one",
title: "Title of my step",
content: "Content of my step"
}, {
element: "#two",
title: "Title of my step",
content: "Content of my step"
}, {
element: "#three",
title: "Title of my step",
content: "Content of my step"
}]
});
// Initialize the tour
tour.init();
$('#tour-go').click(function () {
// Start the tour
tour.start();
});
});
You're using bootstrap-tour v0.8.1, so your code isn't correct, the correct one would be:
var tour = new Tour() ;
tour.addSteps([{
element: "#one",
title: "Title of my step",
content: "Content of my step"
}, {
element: "#two",
title: "Title of my step",
content: "Content of my step"
}, {
element: "#three",
title: "Title of my step",
content: "Content of my step"
}]) ;
This fiddle is working: http://jsfiddle.net/9LcQx/
Replace your js with this from your fiddle:
$(function () {
var tour = new Tour();
tour.addStep({
element: "#one",
title: "Step 1",
content: "Content for step 1"
});
tour.addStep({
element: "#one",
title: "Step 2",
content: "Content for step 2"
});
tour.addStep({
element: "#three",
title: "Step 3",
content: "Content for step 3"
});
// Initialize the tour
tour.init();
$('#tour-go').click(function () {
// Start the tour
tour.start();
});
});
Your mistake is use steps
. but correct is you have to use tour.addStep
to done this.
Check this Demo js Fiddle
jQuery
var tour = new Tour();
tour.addStep({
element: "#one",
title: "Title of my step",
content: "Content of my step"
});
tour.addStep({
element: "#two",
title: "Title of my step",
content: "Content of my step"
});
tour.addStep({
element: "#three",
title: "Title of my step",
content: "Content of my step"
});
// Initialize the tour
tour.init();
$('#tour-go').click(function () {
// Start the tour
console.log("Click");
tour.start();
});
I tried all above proposed solutions and still couldn't make it work, so i found an article online that stated, existing bootstrap users are NOT supposed to use bootstrap-tour-standalone.min.js
. Instead, they should use boostrap-tour-min.js
.
Also, please verify that you are using appropriate version of bootstrap. "Popovers" didnt show in my case i switched to
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>