代码之家  ›  专栏  ›  技术社区  ›  NimChimpsky

jquery格式仅在文档准备就绪时出现,因此当网页首次加载时,用户会看到一个丑陋的页面。

  •  -1
  • NimChimpsky  · 技术社区  · 15 年前

    这只是非常短暂的,而元素和 jsp includes 发生。不过,这很烦人。

    有没有删除这个的提示?更具体地说,什么是CSS等价的hide()和show()。

    3 回复  |  直到 15 年前
        1
  •  0
  •   Alexander Sagen    15 年前

    使用css设置所有元素的初始状态,并且只在使用js/jquery加载后进行更改。似乎这不会比在JS中对格式化元素的逻辑进行编码更麻烦。

    如果使用JS创建初始状态(如您所想象的那样),则始终会有这种延迟。甚至高度优化。

    我想最难看的解决方案是让JS片段与HTML内联,HTML在浏览器加载元素时对其进行格式化。请不要。

    隐藏的CSS等价物取决于JS以后如何显示它,但通常 display:none 或 visibility:hidden . 元素也可以从屏幕上推出,位置为负,如 position:absolute;left:-1000px;

        2
  •  1
  •   David Thomas    15 年前

    这就是CSS的用途,JS(和jQuery)应该用于行为层,这会影响表示,但它不应该是使页面呈现的唯一方法。

    我唯一能提出的建议 使用CSS设置页面样式 ,就是用某种面具

    #cover {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0
        right: 0
        background: #fff url('path/to/loading.gif') 50% 50% no-repeat;
    }
    
    <div id="cover">
    </div>
    

    然后使用:

    $(window).load(
        function() {
            $('#cover').remove();
        }
    );
    

    但我认为这可能只是加剧了你可能已经犯下的错误。

        3
  •  0
  •   kgiannakakis    15 年前

    您应该使HTMLDOM更小更简单,这样加载更快。