在jQuery中调整了多少窗口?

Posted

技术标签:

【中文标题】在jQuery中调整了多少窗口?【英文标题】:How much a window is resized in jQuery? 【发布时间】:2015-08-09 19:14:19 【问题描述】:

只有当有人调整窗口大小超过 50 像素时,有没有办法在 jQuery 中触发事件?

我想防止在移动浏览器上滚动时触发事件。滚动往往会调整窗口大小并导致一些故障。我研究了去抖动功能,但它们并不能完全解决我的问题。

【问题讨论】:

滚动不应影响移动浏览器上的窗口大小。您能否提供故障的确切细节,因为听起来可能存在另一个问题。 通过编码,你尝试过什么? XY 问题我猜:mywiki.wooledge.org/XyProblem 【参考方案1】:

我猜你是在 chrome for mobile 中进行测试。当您向一个方向滚动时,Chrome 会隐藏导航栏并显示它,当他认为您可能想要访问它时。当您使用百分比高度时,这可能会很烦人,我同意您的看法。

你可以这样做:

var height = window.innerHeight;
console.log("initial: "+height);

$(window).on("resize", doStuff);
function doStuff()
  if( Math.abs(height - window.innerHeight) > 50)
    //really do stuff
    console.log(height - window.innerHeight);
  

或使用 javascript

var height = window.innerHeight;
window.addEventListener("resize", function()
  if( Math.abs(height - window.innerHeight) > 50)
    //fire your code
  
);

【讨论】:

谢谢你,这成功了!!我调整了检查宽度而不是高度的代码。

以上是关于在jQuery中调整了多少窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何实现窗口尺寸改变,swiper重新初始化尺寸

调整全局动画时长引起的问题

Vim在图形环境下全屏产生黑边

调整tkinter窗口和内容的大小

云台步长1-9怎么设置

jquery检测窗口调整大小