我想要一个简单的语句来将变量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();
});
答案 0 :(得分:4)
因为您不会在每次调整大小时测量宽度。试试这个:
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();
});
答案 1 :(得分:2)
在var w = $(window).width();
内移动resizer()
。这将获得{em>当前尺寸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