我的按钮需要一些帮助。我想当我点击按钮(点击我)时,隐藏的div应该显示但是几秒钟后我隐藏的div会自动隐藏。谢谢!!
这里的代码是:
<!DOCTYPE html>
<html>
<head>
<style>
.show {
-o-transition: opacity 3s;
-moz-transition: opacity 3s;
-webkit-transition: opacity 3s;
transition: opacity 3s;
opacity:1;
}
.hide{ opacity:0; }
</style>
<script>
function ShowSecond()
{
var div2 = document.getElementById("div2");
div2.className="show";
}
</script>
</head>
<body>
<div id="div1" class="show">
First Div
<button onclick="ShowSecond()">clickMe</button>
</div>
<div id="div2" class="hide">
Hidden Div
</div>
</body>
</html>
答案 0 :(得分:2)
您可以使用setTimeout
功能:
setTimeout(function() {
// your code here
}, 1000);
这将在1秒后执行该功能。
如果您想使用jQuery,可以使用.delay()
函数:
$(element).show().delay(1000).hide();
答案 1 :(得分:0)
你想要setTimeout()函数
setTimeout(function() {
// Do something after 5 seconds
}, 5000);
答案 2 :(得分:0)
只需使用setTimeout
执行延时操作。
function ShowSecond() {
var div2 = document.getElementById("div2");
div2.className = "show";
var timeOut = setTimeout(function () {
div2.className = "hide";
}, 2000);
}
我将setTimeout(..)
用于变量timeOut
的原因:将来您可能需要取消此超时操作,可以clearTimeout(timeOut) < / p>
答案 3 :(得分:0)
在ShowSecond
功能中执行以下操作
function ShowSecond()
{
var div2 = document.getElementById("div2");
div2.className="show";
setTimeout(function() {
div2.className="hide";
}, 3000);
}
根据以上代码,您div
将在3s
之后隐藏。时间是你选择增加或减少的要求
答案 4 :(得分:0)
您还可以使用CSS3 animation
代替transition
:
running demo
HTML
<button onclick="animate()">clickMe</button>
<div id="hiddenDiv1" class="hideOnStart">
Hidden Div
</div>
JS
function animate() {
var s = document.getElementById("hiddenDiv1").style;
s.animationName = 'showAndHide';
s.animationDuration = '3s';
}
CSS
@keyframes showAndHide {
0% { opacity: 0; }
50% { opacity: 1; }
100% { opacity: 0; }
}
.hideOnStart{
opacity: 0;
}
显然它需要以跨浏览器为前缀,而普通的JavaScript只是坚持你的代码,使用jQuery会自动处理这些事情。
答案 5 :(得分:0)
如果您使用的是Bootstrap CSS,并且希望普通的javascript调用此事件,则可以使用以下功能:
document.body.addEventListener('click', function (evt) {
if (evt.target.className === 'YOUR_CLASS_NAME') {
var div2 = document.getElementById("ID_FOR_DIV");
div2.className = "d-block";
setTimeout(function() {
div2.className="d-none";
}, 6000);
}
}, false);
或者,如果您不使用引导程序,则可以使用
document.body.addEventListener('click', function (evt) {
if (evt.target.className === 'YOUR_CLASS_NAME') {
var div2 = document.getElementById("ID_FOR_DIV");
div2.style.display= 'block';
setTimeout(function() {
div2.style.display = 'none';
}, 6000);
}
}, false);