在jQuery中调整窗口大小了多少?

时间:2015-05-27 15:31:15

标签: jquery css google-chrome resize height

是否有办法在有人调整窗口大小超过50像素的情况下在jQuery中触发事件?

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

1 个答案:

答案 0 :(得分:2)

我猜你正在使用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
  }
});