美元(窗口).调整大小重置滚动位置

$(window).resize resets scroll position

本文关键字:滚动 位置 窗口 调整 美元      更新时间:2023-09-26

下面的代码不是我的,它来自一个叫做Blueberry的jQuery插件

https://github.com/marktuk/Blueberry

我对代码的问题是当

//bind setsize function to window resize event
$(window).resize(function(){
    setsize();
});

执行它重置滚动的位置,迫使用户的浏览器回到顶部。

我认为这个问题只存在于OSX的Chrome上。

我还应该注意到,即使窗口没有调整大小,它也会发生,并且在超时触发后发生。

如果我取消setsize()的注释,如果我删除$(window),它仍然会发生。调整大小,它停止…

有人知道为什么会发生这种情况,如果有解决问题的办法吗?

如果有人有一个解决方案,那么有一个问题在Github页面上的蓝莓,所以你可以发送一个修复拉请求。

编辑:

按照要求,这里是setsize函数,但请注意,我可以取消setsize函数的注释,它仍然改变滚动位置。

var setsize = function(){
   sliderWidth = $('.slides', obj).width();
   cropHeight = Math.floor(((sliderWidth/imgRatio)/o.lineheight))*o.lineheight;
   $('.slides', obj).css({height: cropHeight});
};

所以最终解决了我的问题,这是由于我有高度设置在我的元素。

现在为什么它会导致$(window)。调整大小以跳转回页面顶部…我不知道!

如果有人能解决这个问题,那就太棒了。