私は最近jqueryに飛び込み、イベントがトリガーされたときに要素を表示/非表示にする方法が大好きでした。テストWebサイトに、ログインボタンをクリックするとログインフォームを表示し、ボタンをもう一度クリックするとフォームを非表示にする簡単な機能を追加してみました。私が使用しているjquery関数は1回だけ機能します(ボタンをクリックしてフォームを表示した場合)が、フォームが表示された後、ボタンをもう一度クリックしようとしても何も起こりません。
Jqueryコード:
function displayLoginBox(){
if ($("#login_Box_Div:hidden")){
$("#login_Box_Div").show();
$("#buttonLogin").css('color', '#FF0');
}
else if($("#login_Box_Div:visible")){
$("#login_Box_Div").hide();
$("#buttonLogin").css('color','white');
}
}
HTMLボタンコード:
<h3> <a href= "#">Pictio </a> <button id = "buttonLogin" onclick = "displayLoginBox()">LogIn</button></h3>
HTML divコード:
<div id = "login_Box_Div">
<form name = "myform" >
<input type = "text" name = "username" placeholder = "Username" />
<input type = "password" name = "password" placeholder= "Password" />
<input type = "submit" id = "submitLogin" />
</form>
</div>
jqueryスクリプトは一度だけ実行されてから終了するように感じますが、間違っている可能性があります。