当前位置: 首页 > 面试题库 >

检测何时使用JavaScript调整窗口大小?

孔俊爽
2023-03-14
问题内容

当用户结束调整浏览器窗口大小时,jQuery或JavaScript有什么办法触发函数?

换句话说:

  1. 用户调整浏览器窗口大小时是否可以检测到鼠标向上移动事件?除此以外:
  2. 我可以检测到窗口调整大小操作何时完成吗?

我目前只能在用户开始使用jQuery调整窗口大小时触发事件


问题答案:

您可以使用.resize()每次实际改变宽度/高度时获取,如下所示:

$(window).resize(function() {
  //resize just happened, pixels changed
});

它会使用新的高度/宽度值并在页面中对其进行更新以供您查看。请记住,事件并没有真正开始或结束,它只是在发生调整大小时“发生”……无话可说,另一个事件不会发生。

编辑: 通过评论看来,您似乎想要一个“结束”事件,找到的解决方案可以做到这一点,但有一些例外(您无法以跨浏览器的方式区分鼠标向上和暂停,同为一个端Vs的停顿 )。您可以创建该事件,以使其更加清晰,例如:

$(window).resize(function() {
    if(this.resizeTO) clearTimeout(this.resizeTO);
    this.resizeTO = setTimeout(function() {
        $(this).trigger('resizeEnd');
    }, 500);
});

您可以在任何地方都拥有一个基本文件,无论您想做什么…然后可以绑定到resizeEnd要触发的新事件,如下所示:

$(window).bind('resizeEnd', function() {
    //do something, window hasn't changed size in 500ms
});


 类似资料:
  • 我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码:

  • 问题内容: 如何挂接到浏览器窗口调整大小事件? 有一种jQuery侦听调整大小事件的方法,但我不希望仅出于这一要求就将其引入我的项目中。 问题答案: jQuery只是包装了标准的DOM事件,例如。 jQuery 可以 做一些工作来确保在所有浏览器中一致地触发resize事件,但是我不确定任何浏览器是否有所不同,但是我建议您在Firefox,Safari和IE中进行测试。

  • 窗口大小,我们可以非常方便的使用width、height调整,但是如何知道 width和height是一个问题? 在 Window 操作系统中,假如我们想要缩放,我们通常会把鼠标移动到窗口的右边栏,和底部边栏,以及右下边栏。 而且在不同的边栏,鼠标呈现的样式也是不一样的。当我们在右边栏的时候我们可以通过cursor: e-resize;模拟鼠标样式。 在底部边栏我们可以通过cursor: s-re

  • #include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = j

  • 问题内容: 我使用Qt Designer创建了一个简单的UI,并将其转换为Python代码。我搜索了任何方法来检测不断变化的窗口大小。 这是生成的代码: 我发现类似的问题QWidget调整大小信号吗?而本教程将介绍建议重写 QMainWindow的 resizeEvent 方法的大小。 __ 但是他们中的任何一个都不能解决我的问题。是否有任何 调整大小的 功能来检测窗口的大小,如下所示: 问题答案

  • 问题内容: 我有以下JQuery代码: 唯一的问题是,这仅在首次加载浏览器时有效,我是否还希望在调整窗口大小时进行检查? 有任何想法吗? 问题答案: 这是一个使用jQuery,javascript和css处理调整大小事件的示例。 (如果您只是通过调整大小来设置样式(媒体查询),最好的方法是CSS) [ CSS javascript jQuery 如何停止调整大小的代码执行如此频繁! 这是绑定到调整