Html 加快DOM树的渲染速度

Html 加快DOM树的渲染速度,html,css,performance,browser,Html,Css,Performance,Browser,因此,我出于某种原因创建的站点在呈现实际DOM元素时非常慢 我的意思是,当你滚动页面时,它非常慢。几乎 就像一个低帧率的游戏 我在玩CSS时注意到,当我删除不透明度的元素时,或者干脆将它们设为1网站速度显著加快。 因此,问题是如何在不影响页面渲染速度的情况下保持这种视觉样式 这里是链接 您正在运行checkVis函数onscroll。根据浏览器的不同,您的功能可能会在每次鼠标滚轮滚动时启动数次 在checkVis函数中,您多次使用jQuery构造函数。这意味着每次启动scroll事件时,您都在

因此,我出于某种原因创建的站点在呈现实际DOM元素时非常慢

我的意思是,当你滚动页面时,它非常慢。几乎 就像一个低帧率的游戏

我在玩CSS时注意到,当我删除不透明度的元素时,或者干脆将它们设为1网站速度显著加快。

因此,问题是如何在不影响页面渲染速度的情况下保持这种视觉样式

这里是链接

  • 您正在运行
    checkVis
    函数
    onscroll
    。根据浏览器的不同,您的功能可能会在每次鼠标滚轮滚动时启动数次

  • checkVis
    函数中,您多次使用jQuery构造函数。这意味着每次启动scroll事件时,您都在遍历DOM以查找这些元素

  • 为了最大限度地提高性能,缓存选择器非常重要


    Twitter在某个时候也遇到了同样的问题,滚动速度非常慢,他们不得不暂时退回到旧版本的代码

    您可以在John Resig的博客文章(John是jQuery的创建者)中阅读关于该事件的更多信息:

    约翰·雷斯格-



    <> P.S.S.您也可以考虑通过计时器运行<代码> OnLoops事件处理程序(<代码> SETTIMEOUT> <代码> />代码> SETIFATION< /COD>)。John已经在这里介绍了所有内容…

    从我看到的情况来看,您正在使用javascript加载图像,并且您已将将将图像添加到页面的函数附加到
    onscroll
    事件中。因此,每当用户滚动页面时,就会调用该函数-
    checkVis()
    ,而且似乎没有进行太多优化

    另一种方法是在标记中插入图像,并使用类似的脚本(尽管它使用类似的方法,但优化程度更高)仅在图像位于视口中时加载它们


    编辑:看来lazyload不是一个可用的解决方案(正如他们网站上所说的)。我的错误。

    这并不能回答您的问题,但您可能对此感兴趣,也许可以尝试使用半透明背景图像,而不是CSS(如果可能)。