Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript检查视口是否小于某个宽度?_Javascript_Jquery_Viewport - Fatal编程技术网

如何使用javascript检查视口是否小于某个宽度?

如何使用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

我想用一个简单的语句将变量bool设置为false或true。当视口小于768px时,isMobile应设置为true,大于此值时,isMobile应设置为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 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,就可以通过简单的媒体查询实现最终的目标。