$(window).resize重置滚动位置

时间:2011-11-28 13:57:48

标签: javascript jquery window-resize

下面的代码不是我的,它是一个名为Blueberry的jQuery插件。

https://github.com/marktuk/Blueberry

我的代码问题是

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

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

我认为此问题仅适用于OSX中的Chrome。

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

如果我取消注释setsize()它仍然会发生,如果我删除$(window).resize它会停止...

任何人都知道为什么会发生这种情况,如果问题解决了?

如果有人确实有解决方案,那么在Blueberry的Github页面上存在问题,因此您可以发送带有修复的Pull Request。

编辑:

根据要求继承了setsize函数,但请注意我可以取消注释setsize函数,仍然更改滚动位置。

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

1 个答案:

答案 0 :(得分:-1)

所以最终修复了我的问题,这是因为我在我的元素中设置了高度。

现在为什么它导致$(window).resize跳回到页面顶部...我不知道!

如果有人能够解决它会很棒。