【发布时间】:2016-11-22 00:18:42
【问题描述】:
嘿,我可以隐藏我的 div,但我的问题是,如果我重新加载我的页面,我总是会看到隐藏的 div 一秒钟。
有人知道如何解决这个问题吗?
【问题讨论】:
-
分享你的代码
-
您想查看您的答案并接受其中一个吗?
标签: javascript html css
嘿,我可以隐藏我的 div,但我的问题是,如果我重新加载我的页面,我总是会看到隐藏的 div 一秒钟。
有人知道如何解决这个问题吗?
【问题讨论】:
标签: javascript html css
要解决此类问题,您需要将 <div> 与属性 hidden 或内联的东西放在一起。然后你需要用JS隐藏它并删除内联的东西。
$(function () {
$(".hide").hide().removeClass("hide");
});
.hide {display: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="hide">I am not shown</div>
方法二:使用hidden属性。
$(function () {
$(".hide").hide().removeAttr("hidden");
});
.hide {display: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div hidden>I am not shown</div>
方法3:使用hidden属性和.prop()。
$(function () {
$(".hide").hide().prop("hidden", false);
});
.hide {display: none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div hidden>I am not shown</div>
【讨论】:
在应用到 div 的 CSS 中,添加:
display:none;
所以 div 将被加载但不可见。当你需要它的时候,你可以做你现在正在做的事情
【讨论】:
只需将 hidden 属性添加到您的 div,它应该可以解决您的问题,然后在您想要显示它时通过 javascript 将其删除
【讨论】:
$(document).ready(function() {
$('#myDiv').hide();
});
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<div id="myDiv"><p>hello</p></div>
</body>
是的,您可以通过 javascript 创建 div。
var div = document.createElement("Div");
var text = document.createTextNode("this is my Div")
div.appendChild(text);
document.body.appendChild(div);
<body>
</body>
【讨论】:
display: none 可以更轻松地解决问题。根本不需要用JS来新建一个div。一行 CSS 将很快被浏览器解析,比编写整个 JS 函数来隐藏单个 div 更好。