Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改位置时Safari渲染问题:已修复为位置:相对_Javascript_Jquery_Html_Css_Safari - Fatal编程技术网

Javascript 更改位置时Safari渲染问题:已修复为位置:相对

Javascript 更改位置时Safari渲染问题:已修复为位置:相对,javascript,jquery,html,css,safari,Javascript,Jquery,Html,Css,Safari,为了好玩,我正在开发一个jQuery插件,当你向下滚动页面时,它会显示“堆栈”中的元素 Github回购在这里- 演示在这里- 在Chrome中一切都很好,但在Safari中测试时,我看到一些奇怪的渲染问题 如果您在Safari中查看演示并快速向下滚动,您将注意到彩色div之间出现白色间隙 更奇怪的是,如果您随后检查其中一个位置不正确的DIV,则检查器会在正确的位置高亮显示该DIV。此外,如果在inspector中更改元素CSS属性之一(如添加边框),页面将被重新绘制,元素将显示在正确的位置 有

为了好玩,我正在开发一个jQuery插件,当你向下滚动页面时,它会显示“堆栈”中的元素

Github回购在这里-

演示在这里-

在Chrome中一切都很好,但在Safari中测试时,我看到一些奇怪的渲染问题

如果您在Safari中查看演示并快速向下滚动,您将注意到彩色div之间出现白色间隙

更奇怪的是,如果您随后检查其中一个位置不正确的DIV,则检查器会在正确的位置高亮显示该DIV。此外,如果在inspector中更改元素CSS属性之一(如添加边框),页面将被重新绘制,元素将显示在正确的位置

有人知道这是Safari bug,还是我可以用一些鲜为人知的CSS克服的问题吗?

我也有类似的问题。 我的解决方法是先给出静态位置,然后再给出相对位置,稍微有点延迟

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

是的,虽然我注意到它在FireFox中可能没有那么糟糕。非常奇怪的bug,我会做的是延迟
滚动
调整大小
事件的执行,直到它们完成,就像看如果事件没有延迟(滚动窗口)以及当它们完成时会发生什么一样