如何使用javascript检查视口是否小于某个宽度?
我想用一个简单的语句将变量bool设置为false或true。当视口小于768px时,isMobile应设置为true,大于此值时,isMobile应设置为false 我不知道为什么下面的代码什么都不做。控制台日志中也没有错误如何使用javascript检查视口是否小于某个宽度?,javascript,jquery,viewport,Javascript,Jquery,Viewport,我想用一个简单的语句将变量bool设置为false或true。当视口小于768px时,isMobile应设置为true,大于此值时,isMobile应设置为false 我不知道为什么下面的代码什么都不做。控制台日志中也没有错误 var w = $(window).width(); var isMobile = false; function resizer() { if (w < 768) { console.log("resize"); isMo
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 w=$(窗口).width();
var isMobile=false;
函数大小调整器(){
如果(w<768){
console.log(“调整大小”);
isMobile=true;
}否则{
isMobile=false;
}
}
$(窗口)。调整大小(函数(){
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 isMobile=false;
函数大小调整器(){
var w=$(window.width();
如果(w<768){
console.log(“调整大小”);
isMobile=true;
}否则{
isMobile=false;
}
}
$(窗口).on('load resize',function(){
resizer();
});
移动var w=$(窗口).width()代码>内部resizer()
。这将获得窗口的当前维度值
请参阅代码中的内联注释
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
var isMobile=false;
函数大小调整器(){
var w=$(window.width();
//将此移动到内部调整大小处理程序
如果(w<768){
console.log(“调整大小”);
isMobile=true;
}否则{
isMobile=false;
}
}
$(窗口)。调整大小(函数(){
resizer();
}).trigger('resize');
// ^^^^^^^^^^^^^^^^^^
//
//页面加载时触发事件
虽然我不知道切换isMobile
时会发生什么,但您可能不必使用JavaScript和/或jQuery,就可以通过简单的媒体查询实现最终的目标。