My jQuery is enqueued properly. So why isn’t it working?

jQuery scripts in WordPress require no-conflict wrappers.

Instead of this:

$(document).ready(function(){
     $(#somefunction) ...
});

Use this:

jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});

So, in your case:

jQuery(document).ready(function($) {
    $("#openbtn").click(function(){
        $("#openingtimes").toggle(300);
    });
});