use*_*001 5 wordpress jquery var menu screen-size
我有一个响应的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();
});
Run Code Online (Sandbox Code Playgroud)
我会说$(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();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21248 次 |
| 最近记录: |