javascript - 如何使用 jQuery 检测浏览器屏幕宽度增加超过某个点?

标签 javascript jquery html css

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

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

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

这确实有效,但是显然效率不高。例如,如果我将窗口大小从 780 像素调整为最大宽度 (1024 像素),即使如此,事件也会被触发。或者即使我将尺寸从 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/

相关文章:

javascript - 从 AJAX 调用中获取响应 - 接受回调

javascript - 有延迟的循环代码

java - Thymeleaf、Javascript 内联和迭代

javascript - 无法通过 jQuery 获取 Div 宽度

jquery - fullCalendar UNIX 时间戳转换问题与选择事件

javascript - Bootstrap 确认主模态后面的模态

javascript - 如何获取xml所有子节点值?

javascript - 如何在带有div父级的表中查找文本

html - 如何摆脱 div 内图像周围的默认边距?

Javascript onclick,如何为某些元素设置不同的 alpha?