2016-06-11 149 views
1

我想显示div1 3秒,然后隐藏并显示div2。请注意我不是一位专业的JavaScript开发人员。但是,我已经通过Google搜索并复制粘贴&来显示和隐藏div1。显示Div1为x秒,然后隐藏并显示隐藏Div2

当div1隐藏时,我无法显示div2。下面是代码....

<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 show() { 
    document.getElementById("myDiv").style.display="block"; 
    setTimeout("hide()", 3000); // 3 seconds 
} 

function hide() { 
    document.getElementById("myDiv").style.display="none"; 
} 

show(); 
function show2() { 
    document.getElementById("myDiv1").style.display="block"; 
} 
</script> 
+0

你想在jQuery的或纯JavaScript的答案吗? – Luke101

+1

这里没有jQuery代码,它都是纯Javascript。我想不知道这个区别是不是专家的一部分。 – Barmar

+0

@Barmar谢谢。这样一个愚蠢的错误从我身边。 –

回答

2

你需要调用show2()隐藏Div1后。另外,你的函数中有错误的ID。

function show() { 
 
    document.getElementById("Div1").style.display="block"; 
 
    setTimeout("hide()", 3000); // 3 seconds 
 
} 
 

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

 
show(); 
 
function show2() { 
 
    document.getElementById("Div2").style.display="block"; 
 
}
<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>

+0

尝试过,不工作。我需要显示div1 3秒(3秒后消失),然后显示div2(div2保持隐藏3秒)。你的解决方案使div1消失,div2出现。 –

+0

您的功能中没有正确的ID。 – Barmar

-1

你给一个字符串的setTimeout

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

,但它需要一个功能:

setTimeout(hide, 3000); // 3 seconds 
+0

我不明白。 –

+0

如果你给它一个字符串,它使用'eval()'来执行它。 – Barmar

+0

你是对的。那么我刚刚学到了一些东西:) – soundyogi