При нажатии на дисплей Div внутри этого Div отображается Div1 в течение 3 секунд, а затем скрывается

Я пытаюсь отобразить (при нажатии) 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>

person kpmrpar    schedule 12.06.2016    source источник
comment
setTimeout(скрыть1, 3000); Я думаю... проверьте, как это написать... а не в виде строки :)   -  person Medda86    schedule 12.06.2016


Ответы (1)


Это неправильная часть:

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

Должно быть:

setTimeout(hide1, 3000);  // 3 seconds

Вот скрипка: https://jsfiddle.net/gerardofurtado/yso7ajyb/

person Gerardo Furtado    schedule 12.06.2016