基本上,我想做的是,如果用户将浏览器的大小从X增加到Y,则触发一个事件。如果X =小于750像素,而Y大于750像素。

现在,我正在做这样的事情:

$(window).resize(function(){
    if ($(window).width() >= 750) {
        console.log('750 or more');
    }
});


但是,这显然无效。例如,如果我将窗口的尺寸从780px调整为最大宽度(1024px),则即使触发该事件。甚至即使将大小从800px减小到780px,我仍然显然可以得到控制台输出。

我该如何使其正常工作?

最佳答案

您将需要setTimeout以允许进行检查。

范例:

var resizeTimer;

$(window).resize(function() {


 clearTimeout(resizeTimer);
  resizeTimer = setTimeout(function() {
    var body_size = $(window).width();

    // ...
    // do your screen check here
    // ...


  }, 1);

})


希望这可以帮助

关于javascript - 如何使用jQuery检测浏览器屏幕宽度增加到某个点以上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37731347/

10-11 12:06