我在 Mac 和 IOS Safari 滚动条方面遇到了一个非常奇怪的问题。 Google map 和 css 定位之间似乎有一些疯狂的交互,只影响 Mac 和 IOS Safari。
此链接在 Windows 上的 Chrome、Firefox、Internet Explorer 和 Safari 上运行良好。
这是指向相关页面的链接:http://ve.6k2cfrvt.vesrv.com/find-a-venue/
您需要查看页面才能了解问题。滚动条在 Safari Mac 中不起作用。我正在使用 jScrollPane 来允许我向滚动条添加样式。我已经做了相当多的调试,据我所知,safari 没有正确应用 CSS“top”参数。
如果我删除 Google map 。问题消失了。 (本页有普通滚动条:http://ve.6k2cfrvt.vesrv.com/become-a-host/)
有人知道解决方案吗?
谢谢
最佳答案
所以我终于找到了问题所在。 Safari Mac 似乎对其重新绘制进行了如此多的优化,以至于有时在通过 Javascript 更改元素的 css 时它无法正确地重新呈现元素。
一个简单的解决方案是:
//elem is a jQuery object
if($.browser.safari) elem.addClass('repaint');
elem.updateCSSProperties();
if($.browser.safari) elem.removeClass('repaint');
添加和删除类会强制 Safari 重新绘制元素。我希望这对某人有用。
关于javascript - Mac 和 IOS Safari 上的奇怪滚动条行为 (css/javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7828172/