【问题标题】:stop hidden div flashing up on screen as page loads in jquery在 jquery 中加载页面时停止隐藏的 div 在屏幕上闪烁
【发布时间】:2011-08-18 12:52:11
【问题描述】:

我正在使用

$(function() {
    $('#div1, #div2, #div3').hide();

在我的脚本开头,然后使用 .fadeIn() 将它们淡入。但是,当页面加载时,它们会在 IE 的屏幕上出现一瞬间。有什么办法可以防止这种情况发生吗?

【问题讨论】:

    标签: jquery hide


    【解决方案1】:

    在每个 div 上添加以下属性:

    <div id="div1" style="display:none;"></div>
    

    【讨论】:

    • 内联样式并不是一个很好的做法,使用像 hidden 这样的 CSS 类可以让您在显示停止自行排列时删除该类。
    【解决方案2】:

    在 CSS 中添加“display:none”:

    <style type="text/css">
            #divs {
                display:none
            }
        </style>
    

    【讨论】:

      【解决方案3】:

      好吧,如果您不太担心禁用 JS 的用户,您可以随时使用 CSS 将其隐藏。

      另一种选择是将该代码直接放在 DIV 下方,以便在 DIV 加载时执行它们,而不必等到整个 DOM 加载完毕。我不太喜欢这个选项,因为你的 HTML 中会穿插 JS

      【讨论】:

        【解决方案4】:

        'class/id' { visibility: hidden; }
        

        在 css 文件中,并确保将其写在顶部,然后再为该 div 分配任何样式 否则它可能会在隐藏之前闪烁 div

        否则你就可以了

        <div style="visibility: hidden;"></div>
        

        在 html 本身中

        对我有用

        【讨论】:

        • visibility: hidden 仍然会导致问题,因为它不会删除 div 占用的空间。所以如果它占用空间那么会有一个布局转变而不是 div 闪烁。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多