检测一个窗口使用JavaScript的大小?
当用户结束调整浏览器窗口的大小时,有没有什么办法用jQuery或JavaScript来触发一个函数?
换句话说:
- 当用户调整浏览器窗口大小时,可以检测到鼠标移动事件吗? 除此以外:
- 我可以检测窗口resize操作完成时?
我目前只能在用户开始用jQuery调整窗口的大小时触发一个事件
你可以使用.resize()
来获取每一次宽度/高度的实际变化,如下所示:
$(window).resize(function() { //resize just happened, pixels changed });
您可以在这里查看正在运行的演示 ,它将采用新的高度/宽度值并在页面中更新它们以供您查看。 记住事件并不真正开始或结束 ,它只是在发生resize时“发生”……没有什么可以说另一个不会发生。
编辑:通过评论,似乎你想要的东西像一个“端”事件,你find的解决scheme是这样做的,除了一些例外(你不能区分在跨浏览器方式的鼠标和暂停, 结束与暂停相同 )。 您可以创build该事件,使其更清洁一些,如下所示:
$(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 });
你可以在这里看到这个方法的工作演示