在Chrome中重新绘制页面?

时间:2011-11-29 17:12:58

标签: javascript google-chrome repaint

我一直在寻找使用我在网上找到的脚本(here)作为我想要创建的网站的基础。它在Chrome中存在一个问题,即一旦链接被点击,页面就不会滚动,但是如果我调整窗口大小只是页面“重新绘制” - 我认为这是正确的术语 - 一切都很好。

有没有像这样重拍?我不是说刷新:)!很抱歉,如果这看起来有点笨拙,如果您在Chrome中尝试此link,请按标题中的其中一个链接,然后在尝试滚动时会看到问题。

最初我认为可能会有一些javascript我可以在切换重新绘制页面的页面结束时调用。

由于

1 个答案:

答案 0 :(得分:1)

您可以尝试在幻灯片完全转换为新页面之后执行这样的操作:

由于您评论说它不像我最初建议的那样有效,所以这里是一种“鼓励”Chrome进行隐藏/显示技巧的方法:

$(".slide.loaded.prev").css("display", "none");
setTimeout(function() {
    $(".slide.loaded.prev").css("display","");
});

或者你可以试试这个:

var slide=$(".slide.loaded.prev");
slide.css("display", "none").height();  // just get the height to trigger a relayout.
slide.css("display", "");

上面的代码只是找到以前可见的幻灯片,将CSS属性显示设置为none(完全隐藏),然后将其删除。使用Chrome开发者工具时,此技巧有效。

滚动条似乎是Chrome中之前的“幻灯片”。通过简单地切换幻灯片的显示,滚动条隐藏在当前“幻灯片”的内容下。