首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >偶尔在刷新页面时,jQuery隐藏的内容会出现几秒钟

偶尔在刷新页面时,jQuery隐藏的内容会出现几秒钟
EN

Stack Overflow用户
提问于 2017-01-31 12:55:19
回答 3查看 1.6K关注 0票数 2

我已经创建了一个用于存储隐藏图像的jQuery对话框,该对话框只能通过单击链接来触发。其中一些守则如下:

代码语言:javascript
运行
复制
<div id="dialogdialog" style="background-color: white;">
            <div>
                 <div style="clear: right">
                 <a href="#" class="closeDialogButton">
                     <div id="fitClose" class='sprite x' style="float:right;"></div></a>
                 </div>
            </div>
            <div>
                <div id="fitLogoBlack" class='sprite black-logo'></div>
                <br/><br/>
                <img id="fitTitle" src="img/fitguide_title.jpg">
                <img id="fitLogoBlue" src="img/blue.png">
            </div>
            <div>
                <img src="img/topbanner01.jpg">
                <br/>
                <img src="img/slim02.jpg">
            </div>


        </div>



<a class="fit-guide" href="#fit-guide" target="_self" rel="nofollow" id="fitguidePic">Fit Guide</a>

<script>
    $(function() {
        $("#dialogdialog").dialog({
            width: 900,
            border: 0,
            autoOpen: false,
            modal: true,
            resizeable: false,
            dialogClass:"myClass"

        });
        $("#fitguidePic").on("click", function() {
            $("#dialogdialog").dialog("open");
        });
    });

    $('.closeDialogButton').click(function(e){
        e.preventDefault();
        $('#dialogdialog').dialog('close');
    })
    </script>

代码正常工作,图像可以隐藏,直到我点击链接,然而,偶尔,当我刷新我的页面时,我会看到隐藏的内容出现在页面上几秒钟,但在整个页面完全加载后,它将再次被隐藏。但是,这种情况并不是每次刷新都会发生。

我不知道是什么引起了这个问题。当我提神的时候,我怎样才能阻止图像弹出呢?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-31 13:04:39

将此添加到CSS中:

代码语言:javascript
运行
复制
#dialogdialog {
    display: none;
}

因为浏览器中页面的显示不需要等待Javascript完全加载,所以对话框有时是可见的,因为默认情况下它是可见的。jQuery稍后将通过直接将CSS附加到元素来“覆盖”这个初始设置。

票数 2
EN

Stack Overflow用户

发布于 2017-01-31 13:01:46

当我提神的时候,我怎样才能阻止图像弹出呢?

通过使用香草js (生js)。为什么?

我不知道是什么引起了这个问题。

这是因为只有在加载完整个文档之后才加载jQuery (如果设置正确的话)。因此,当您刷新图像时,首先显示图像,然后再加载隐藏它的代码。无论何时有延迟和加载缓慢,如果使用jQuery,您将在图片被隐藏之前看到它。

Alt解决方案:您可以在不等待文档完全加载的情况下加载jQuery,但是您的代码可能会中断,这通常是一个非常糟糕的主意。jQuery只在整个文档上工作。

票数 1
EN

Stack Overflow用户

发布于 2017-01-31 12:58:56

代码语言:javascript
运行
复制
display: none; on #dialogdialog
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41958177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档