I’m in the process of converting a Bootstrap template into a WordPress theme, and I’ve got all of my stylesheets and scripts referenced in functions.php, and a few initialization codes in footer.php, but there’s one particular file that’s not executing correctly: http://blackrockdigital.github.io/startbootstrap-creative/js/creative.js.
Script:
(function($) {
"use strict"; // Start of use strict
// jQuery for page scrolling feature - requires jQuery Easing plugin
$('a.page-scroll').bind('click', function(event) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: ($($anchor.attr('href')).offset().top - 50)
}, 1250, 'easeInOutExpo');
event.preventDefault();
});
// Highlight the top nav as scrolling occurs
$('body').scrollspy({
target: '.navbar-fixed-top',
offset: 51
})
// Closes the Responsive Menu on Menu Item Click
$('.navbar-collapse ul li a:not(.dropdown-toggle)').click(function() {
$('.navbar-toggle:visible').click();
});
// Fit Text Plugin for Main Header
$("h1").fitText(
1.2, {
minFontSize: '35px',
maxFontSize: '65px'
}
);
// Offset for Main Navigation
$('#mainNav').affix({
offset: {
top: 100
}
})
// Initialize WOW.js Scrolling Animations
new WOW().init();
})(jQuery); // End of use strict
I’ve set this particular file to use jQuery and to be called before the </body>
tag via functions.php, but none of the scripts inside are executing and Chrome is returning this error:
Uncaught TypeError: $(...).scrollspy is not a function
I’ve tried replacing the $
alias with jQuery
, but it had no effect. I’ve also confirmed this is getting called after the jQuery library.
Any help would be really appreciated. Thanks!
I think you forget to link bootstrap.min.js or link it correctly