如何使用 javascript 检查视口是否小于特定宽度?
How to check if viewport is smaller than a certain width using javascript?
我想要一个简单的语句来将变量 bool 设置为 false 或 true。当视口小于 768px 时,isMobile 应设置为 true,高于此值时应设置为 false。
我不知道为什么下面的代码什么都不做。控制台日志中也没有错误。
var w = $(window).width();
var isMobile = false;
function resizer() {
if (w < 768) {
console.log("resize");
isMobile = true;
} else {
isMobile = false;
}
}
$(window).resize(function() {
resizer();
});
因为您不会在每次调整大小时都测量宽度。试试这个方法:
var isMobile = false;
function resizer() {
var w = $(window).width();
if (w < 768) {
console.log("resize");
isMobile = true;
} else {
isMobile = false;
}
}
$(window).on('load resize', function(){
resizer();
});
将 var w = $(window).width();
移到 resizer()
内。这将获得 window
.
的 current 维度的值
查看代码中的内联注释。
var isMobile = false;
function resizer() {
var w = $(window).width();
// Move this inside resize handler
if (w < 768) {
console.log("resize");
isMobile = true;
} else {
isMobile = false;
}
}
$(window).resize(function() {
resizer();
}).trigger('resize');
// ^^^^^^^^^^^^^^^^^^
//
// Trigger event on page load
我想要一个简单的语句来将变量 bool 设置为 false 或 true。当视口小于 768px 时,isMobile 应设置为 true,高于此值时应设置为 false。
我不知道为什么下面的代码什么都不做。控制台日志中也没有错误。
var w = $(window).width();
var isMobile = false;
function resizer() {
if (w < 768) {
console.log("resize");
isMobile = true;
} else {
isMobile = false;
}
}
$(window).resize(function() {
resizer();
});
因为您不会在每次调整大小时都测量宽度。试试这个方法:
var isMobile = false;
function resizer() {
var w = $(window).width();
if (w < 768) {
console.log("resize");
isMobile = true;
} else {
isMobile = false;
}
}
$(window).on('load resize', function(){
resizer();
});
将 var w = $(window).width();
移到 resizer()
内。这将获得 window
.
查看代码中的内联注释。
var isMobile = false;
function resizer() {
var w = $(window).width();
// Move this inside resize handler
if (w < 768) {
console.log("resize");
isMobile = true;
} else {
isMobile = false;
}
}
$(window).resize(function() {
resizer();
}).trigger('resize');
// ^^^^^^^^^^^^^^^^^^
//
// Trigger event on page load