I have been attempting different methods of adding jquery to my site for a while now - and found that the best practice is to enqueue it in functions.php. Specifically i am trying to add a 'sticky' nav bar that snaps to the top of the page as the user scrolls down. However when i do this my site get a 500 error and I have to remove it to get the site back up and running.
It is obviously the functions.php code to enqueue the script or the script itself causing the problem - however i have not been able to identify which and of course why. (could there be an issue with how my server is set up? lack of resources/permissions ect?)
Here is my Functions.php extract:
function verdigris_script() {
// register your script location, dependencies and version
wp_register_script('custom_js',
get_template_directory_uri() . '/js/scripts.js',
array('jquery'),
'1.0', true );
function scripts_enqueue() {
//css
wp_enqueue_style('bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css', array(), 'all');
wp_enqueue_style('customstyle', get_template_directory_uri() . '/css/verdigris-style.css', array(), 'all');
//js
wp_enqueue_script('jquery');
wp_enqueue_script('bootstrapjs', get_template_directory_uri() . '/js/bootstrap.min.js', array(), true);
wp_enqueue_script('custom_js');
}
add_action( 'wp_enqueue_scripts', 'verdigris_script');
and this is my script:
jquery(function() {
var $container = $('.container');
var $b = $('body');
$.waypoints.settings.scrollThrottle = 0;
$container.waypoint({
handler: function(e, d) {
$b.toggleClass('sticky', d === 'down');
e.preventDefault();
}
});
});
am asking if anyone can identify the issue.
Many thanks in advance.