I have a responsive WordPress theme. The menu is encoded to hide when the screen size is below 740. However, it only does this correctly on the main page. If I go to any other page, the menu crashes, but it doesnβt hide, and I get this error: "Uncaught TypeError: cannot read property" clientWidth "from null"
Here is the code, I call it in the header.php file of the topic:
var ww = document.body.clientWidth; $(document).ready(function() { adjustMenu(); $(".cat").click(function(e) { // cat class e.preventDefault(); $(this).toggleClass("active"); $(".sf-menu").toggle(); }); }); function adjustMenu() { if (ww <= 740) { //change this to your breakpoint $('.sf-menu').hide(); $(".cat").show(); if (!$(".cat").hasClass("active")) { $(".sf-menu").hide(); } else { $(".sf-menu").show(); } } else { $('.sf-menu').show(); $(".cat").hide(); } } $(window).bind('resize orientationchange', function() { ww = document.body.clientWidth; adjustMenu(); });
source share