【发布时间】:2015-12-04 11:25:19
【问题描述】:
我想在页面加载时隐藏一段,直到一段时间过去。最简单的方法是什么?我知道这可能会涉及某种形式的 js,但这是我所能理解的。
【问题讨论】:
标签: javascript jquery html css
我想在页面加载时隐藏一段,直到一段时间过去。最简单的方法是什么?我知道这可能会涉及某种形式的 js,但这是我所能理解的。
【问题讨论】:
标签: javascript jquery html css
您不需要任何类型的<form>。只需使用以下 sn-p:
$(function () {
$("p").hide().prop("hidden", false);
setTimeout(function () {
$("p").fadeIn(400);
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<p hidden>Welcome!</p>
我使用的概念是,加载它隐藏,以编程方式隐藏它并在一段时间后显示。
【讨论】:
hidden 有什么用?
hidden。谷歌兄弟!!! :)
只能在 CSS 中完成:
.toReveal {
opacity: 0;
animation: reveal 400ms 5s forwards;
}
@keyframes reveal {
100% {opacity: 1;}
}
<p class="toReveal">
To reveal
</p>
【讨论】:
我制作了一个 js bin,使用 setTimeout 函数对用户隐藏文本 5 秒。
【讨论】:
这是简单的 javascript 代码
function onTimerElapsed() {
var myDiv = document.getElementById('theDiv');
myDiv.style.display = myDiv.style.display === 'none' ? 'block' : 'none';
}
<body onload="setTimeout(onTimerElapsed, 2000);">
<div id="theDiv" style="display:none;">
Text to hide on reload
</div>
</body>
【讨论】:
一个简单的 CSS 解决方案是使用关键帧。 (不需要脚本库!)
p {opacity: 0;}
p {
-webkit-animation: show-me-in-5-seconds 2s 1s forwards;
-moz-animation: show-me-in-5-seconds 2s 1s forwards;
-o-animation: show-me-in-5-seconds 2s 1s forwards;
animation: show-me-in-5-seconds 2s 1s forwards;
}
@-webkit-keyframes show-me-in-5-seconds {
0% { opacity: 0; }
100% { opacity: 1; }
}
@-moz-keyframes show-me-in-5-seconds {
0% { opacity: 0; }
100% { opacity: 1; }
}
@-o-keyframes show-me-in-5-seconds {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes show-me-in-5-seconds {
0% { opacity: 0; }
100% { opacity: 1; }
}
<p>SHOW ME IN 5 SECONDS</p>
【讨论】: