Uncatched TypeError: null의 'clientWidth' 속성을 읽을 수 없습니다.
반응형 워드프레스 테마가 있습니다.화면 크기가 740 이하일 때 숨기도록 메뉴가 코딩되어 있습니다.그러나 홈 페이지에서만 이 작업을 올바르게 수행됩니다.다른 페이지로 이동하면 메뉴가 붕괴되지만 숨길 수 없으며 "Uncaught TypeError: null의 'clientWidth' 속성을 읽을 수 없습니다"라는 오류가 표시됩니다.
코드는 여기 있습니다. 헤더에 호출됩니다.테마의 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();
});
문서 끝에 스크립트를 추가해 보십시오.그 이유는 문서의 처음 너비가 0이기 때문입니다. 왜냐하면 아직 내용이 로드되지 않았기 때문에 표시할 내용이 없으므로 너비가 0이기 때문입니다.
쓰라고 말하겠습니다.$(window).width();
잡동사니에서브라우저 뷰포트의 너비를 반환합니다. 이와 동등하거나 전통적인 자바스크립트에 대한 더 나은 대안이라고 할 수 있습니다.
당신의 코드는 이렇게 보일 겁니다.작동하는지 확인합니다.
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();
});
언급URL : https://stackoverflow.com/questions/15876302/uncaught-typeerror-cannot-read-property-clientwidth-of-null
'programing' 카테고리의 다른 글
MySQL 8 암호가 작동하지 않는 새 사용자 생성 (0) | 2023.10.16 |
---|---|
로컬 호스트에서 RMariaDB로 DB Connect 변경으로 인한 "NA in INT 64 Error" (0) | 2023.10.16 |
(트랙터)클릭 시 입력이 비활성화되었는지 확인하는 중? (0) | 2023.10.16 |
워드프레스 검색을 수정하여 분류학 용어와 범주 용어를 쿼리하는 방법은 무엇입니까? (0) | 2023.10.11 |
폴더에서 하위 모듈 리포지토리를 만들고 깃 커밋 기록을 유지합니다. (0) | 2023.10.11 |