2013-06-21 59 views
3

基本上我已经注册并登录,而且它们都是在链接的点击时出现和消失的div,但是我希望一个关闭,如果另一个被点击,然后打开。如果另一个使用Javascript打开,则需要关闭div

示例: 登录区域已打开,并且单击了注册按钮。我希望登录区域消失,并注册内容。

目前代码:

<script language="javascript"> 
function toggle() { 
    var ele = document.getElementById("signin"); 
    var text = document.getElementById("signtext"); 
    var ele2 = document.getElementById("signup"); 
    var text2 = document.getElementById("signuptext"); 
    if(ele.style.display == "block") { 
     ele.style.display = "none"; 
     text.innerHTML = "show"; 
     ele2.style.display = "block"; 
     text2.innerHTML = "hide"; 
    } 
    else { 
     ele.style.display = "block"; 
     text.innerHTML = "hide"; 
     ele2.style.display = "block"; 
     text2.innerHTML = "hide"; 
    } 
} 
function toggle2() { 
    var ele2 = document.getElementById("signup"); 
    var text2 = document.getElementById("signuptext"); 
    var ele = document.getElementById("signin"); 
    var text = document.getElementById("signtext"); 
    if(ele2.style.display == "block") { 
     ele2.style.display = "none"; 
     text2.innerHTML = "show"; 
     ele.style.display = "block"; 
     text.innerHTML = "hide"; 
    } 
    else { 
     ele2.style.display = "block"; 
     text2.innerHTML = "hide"; 
     ele.style.display = "block"; 
     text.innerHTML = "hide"; 
    } 
} 
</script> 

HTML:

<div id="signin" style="display: none"> 
<form action="loginscript.php" method="post"> 
<p>Username:<input type="text" id="username"></p> 
<p>Password:<input type="password" id="password"> <input type="submit" value="submit"></p> 
</form> 
</div> 
<div id="signup" style="display: none"> 
<h1>peek-a-boo</h1> 
</div> 
+0

使用'

0

您可以在“点击”事件调用一个函数,并使用CSS:Visibility财产

<a id="myLink" href="#" onclick="MyFunction();">link text</a> 
1

尝试this.There无需创建两个不同functions.Lesser的功能数量的隐藏在div =更好的代码+更聪明的是编码器!

function toggle(id){ 

switch(id) 
{ 
case 'signin': 
document.getElementById('signin').style.display='block'; 
document.getElementById('signup').style.display='none'; 
break; 

case 'signup': 
document.getElementById('signup').style.display='block'; 
document.getElementById('signin').style.display='none'; 
break; 
} 

HTML

<div id="signin" onclick="toggle(this.id)"> SignIN</div> 
<div id="signup" onclick="toggle(this.id)"> SignUp</div> 
+0

MESSIAH,它是不工作在小提琴...... – user

+1

@用户:这只是基本的想法,你想要的功能的逻辑。你必须推动自己一点,并相应地操纵你的代码!!!这是完美的根据我。给我你的小提琴链接。 –

0

尝试从这个抢的概念,可能不是完美的,但仍含有一些学习部 -

检查该工作小提琴 - http://jsfiddle.net/j7LDD/

工作代码 -

HTML部分 -

<form id="signup" method="get" style="display:none;"> 
<label>SignUp Name</label> 
<input type="text" name="signupname" /> 
<input type="submit" name="signupsubmit" value="signup" /> 
</form> 

<form id="signin" method="get" style="display:none;"> 
<label>SignIn Name</label> 
<input type="text" name="signinname" /> 
<input type="submit" name="signinsubmit" value="signin" /> 
</form> 

<button id="signupbutton" onclick="toggle(this.id);">SignUp</button> 
<button id="signinbutton" onclick="toggle(this.id);">SignIn</button> 

JS PART -

<script> 
function toggle(val) { 
    if("signupbutton" == val) { 
    document.getElementById("signup").style.display = 'block'; 
    document.getElementById("signin").style.display = 'none'; 
    } 
    else { 
    document.getElementById("signin").style.display = 'block'; 
    document.getElementById("signup").style.display = 'none'; 
    } 
} 
</script> 
相关问题