jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 未捕获TypeError:无法读取null的属性’clientWidth’大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个响应的wordpress主题.当屏幕尺寸低于740时,菜单被编码为隐藏.但是它仅在主页上正确地执行此操作.如果我转到任何其他页面菜单崩溃但它无法隐藏我收到此错误:“未捕获的TypeError:无法读取属性’clientWidth’的null”

这是代码,我在主题的header.PHP文件调用它:

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();
});

解决方法

我会说使用$(window).width();来自jquery.它返回浏览器视口的宽度相当于或者我会说传统的javascript更好的替代方案.

你的代码看起来像这样.检查它是否有效.

var ww = $(window).width();
$(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();
    });
    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 = $(window).width();
    adjustMenu();
});

大佬总结

以上是大佬教程为你收集整理的jquery – 未捕获TypeError:无法读取null的属性’clientWidth’全部内容,希望文章能够帮你解决jquery – 未捕获TypeError:无法读取null的属性’clientWidth’所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。