2 つのセレクターに対してトグル機能を実行したいと考えています。クラスを持つ要素と、セレクターである.rgstr
クラスを持つ別の要素があります。.disable
これが私のコードです:
$(document).ready(function(){
$('.rgstr, .disable').click(function() {
var clicks = $(this).data('clicks');
if (!clicks) {
$('.loginpanel').animate({ right: "0"}, 300, function() {
$('.lgnreg > div').stop().animate({right:"0"},1200,'easeOutExpo');
});
$('.disable').css("display","block");
}
else {
$('.loginpanel').animate({ right: "-300px" }, 250, 'easeInOutCirc', function() {
$('.lgnreg > div').stop().animate({right:"-25px"},250,'easeInOutCirc');
});
$('.disable').css("display","none");
}
$(this).data("clicks", !clicks);
});
});
HTML :
<div class="disable"></div>
<div class="rgstr">
<a href="#">Login/Register</a >
</div>
<div class="loginpanel">
<div class="lgnreg">
<div class="login">
<form>
<input type="text" name="lgnusername" id="lgnusername" value="Username" />
<input type="text" name="lgnpassword" id="lgnpassword" value="Password" />
<input type="submit" name="submit" id="submit" value="Login" />
</form>
</div>
</div>
</div>
を.rgstr
クリックする.loginpanel
と開き、 をクリックする.disable
と閉じます。今は動作しますが、2 回のクリックで済みます。初めてクリックする.rgstr
と開きますが、閉じるには.loginpanel
2回クリックする必要があり、次回も同じです。どうすればこれを修正できますか?.disable
.loginpanel