JQuery .show / .hide和CSS可见性之间的区别:隐藏

时间:2013-10-23 19:40:02

标签: jquery css

我试图用JQuery显示和隐藏Div元素:

$("#Progress").hide("fast");

但是我需要将div #Progress元素设置为隐藏的开头。

     <div style="height:30px;margin-top:5px">
        <div id="Progress" style="visibility:hidden">
            <div style="float:left"> <img src="../../../../Content/images/ProgressSpinner.gif"/></div>
            <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saving.......</div>
        </div>
    </div>

似乎如果我每次加载时都使用JQuery来隐藏它,我会得到一个闪烁的效果,因为它一直隐藏着它。所以我真的希望它隐藏起来,直到我在JQuery中显示。

我确实尝试使用CSS“可见性”属性,但我的JQuery .Show(“快速”)命令对它没有影响,因此保持隐藏状态。

那么将div默认为隐藏的最佳方法是什么,以便JQuery .Show命令可以在相关时显示Div,即单击链接时。

    $(document).on("click", ".edit-link", function (e) {

2 个答案:

答案 0 :(得分:3)

您需要在元素上设置display属性:

#Progress {
    display: none;
}

答案 1 :(得分:1)

一个。如果您不想看到闪烁效果,请不要使用.hide('fast')

但是对于你的情况,你可以做$("#Progress").hide();

在旁注上,请尝试.hide('slow')以查看较慢的隐藏。

.show("fast")没有任何效果,因为您的进度div上有style="visibility:hidden" [隐藏但会占用您网页上的空间]。

删除&amp;替换为style="display:none" [隐藏&amp;不占用页面空间]