2014-03-27 28 views
0

我正在开发一个jQuery插件,用于在向下滚动页面时显示“堆栈”中的元素。更改位置时Safari的渲染问题:固定位置:相对

Github上回购是在这里 - https://github.com/JayBizzle/Reveal

演示是在这里 - http://jaybizzle.github.io/Reveal/

一切都在Chrome的伟大工程,但在Safari中进行测试时,我看到了一些奇怪的渲染问题。

如果您在Safari中查看演示并且相当快速地向下滚动,您会发现在彩色DIV之间出现白色间隙。

更奇怪的是,如果您检查其中一个位置不正确的DIV,检查员会在正确的位置突出显示DIV。另外,如果您在检查员的同时更改了CSS属性的其中一个元素,例如添加边框,页面将重新绘制,并且元素显示在正确的位置。

任何人有任何想法,如果这是一个Safari错误,或者我可以克服一些鲜为人知的CSS?

+0

so so Firefox – JFK

+0

是的,虽然我注意到它可能并不像FireFox那么糟糕。非常奇怪的*错误*虽然 –

+0

我会做的是延迟执行'scroll'和'resize'事件,直到它们完成为像http://jsfiddle.net/nRCX9/ – JFK

回答

1

我有类似的问题。 我的解决方法是首先给位置静态,然后相对延迟一点。

$(elem).css('position', 'static'); 
    setTimeout(function() { 
     $(elem).css('position', 'relative'); 
    }, 1);