点击显示Div,在该Div显示Div1中3秒然后隐藏

时间:2016-06-12 08:05:44

标签: javascript show-hide display

我试图显示(点击时)Div1 3秒然后隐藏并显示Div2。

序列是......

点击后>> div“slidingDiv”出现>>使Div1出现3秒>> Div1隐藏(并且在再次点击时不显示)>> Div2出现。

3秒后我无法隐藏。

下面是我的代码......

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function(){

$(".slidingDiv").hide();
$(".show_hide").show();

$('.show_hide').click(function(){
$(".slidingDiv").slideToggle();
});

});

</script>

</head>

<body>

<a href="#" class="show_hide" onclick="begin()">Show/hide</a>
<div class="slidingDiv">

<div id="Div2" style="display:none">
php code here</div>

<div id="Div1" style="display:none"><img id="myImage" src="ajax-loader.gif"></div><br>
<script type = "text/javascript">
function begin() {
function show1() {
document.getElementById("Div1").style.display="block";
setTimeout("hide1()", 3000);  // 3 seconds
}

function hide1() {
document.getElementById("Div1").style.display="none";
show2();
}

show1();
function show2() {
document.getElementById("Div2").style.display="block";
}
}
</script>

</div>

1 个答案:

答案 0 :(得分:2)

这是错误的部分:

setTimeout("hide1()", 3000);  // 3 seconds

必须是:

setTimeout(hide1, 3000);  // 3 seconds

这是小提琴:https://jsfiddle.net/gerardofurtado/yso7ajyb/