【发布时间】:2011-11-28 23:09:19
【问题描述】:
以下代码不是我的,它来自一个名为 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。
编辑:
按照这里的要求设置大小函数,但请注意,我可以取消注释设置大小函数,它仍然会改变滚动位置。
var setsize = function(){
sliderWidth = $('.slides', obj).width();
cropHeight = Math.floor(((sliderWidth/imgRatio)/o.lineheight))*o.lineheight;
$('.slides', obj).css({height: cropHeight});
};
【问题讨论】:
-
您需要提供
setsize的来源。 -
我无法在 OSX Chrome 中的blackberry's demo 中重现该问题,您也可以使用它吗? @zzzzBov,你可以在他们的github看到代码
-
@scumah ahhh 这很有趣,必须先看一下代码才能弄清楚发生了什么......
标签: javascript jquery window-resize