Hey guys, I'm struggling with modifying the jquery and html to ensure that when the login button is clicked, the login form pops up instead of displaying another login button. Another issue I am facing is that the login button seems to pop up automatically upon loading.
I'm a beginner in Jquery and despite trying to solve this problem, I haven't had any luck. If anyone has a solution for me, please share the code changes or update the jsfiddle link provided. Thank you!
Here's the HTML code snippet:
<div class="container">
<a id="modal_trigger" href="#modal" class="btn">Login</a>
<div id="modal" class="popupContainer" style="display:none;">
<header class="popupHeader">
<span class="header_title">Login</span>
<span class="modal_close"><i class="fa fa-times"></i></span>
</header>
<section class="popupBody">
<!-- Social Login -->
<div class="social_login">
<div class="action_btns">
<div class="one_half"><a href="#" id="login_form" class="btn">Login</a></div>
</div>
</div>
<!-- Username & Password Login form -->
<div class="user_login">
<form>
<label>Email / Username</label>
<input type="text" />
<br />
<label>Password</label>
<input type="password" />
<br />
<div class="checkbox">
<input id="remember" type="checkbox" />
<label for="remember">Remember me on this computer</label>
</div>
</form>
<a href="#" class="forgot_password">Forgot password?</a>
</div>
<!-- Register Form -->
<div class="user_register">
<form>
<label>Full Name</label>
<input type="text" />
<br />
<label>Email Address</label>
<input type="email" />
<br />
<label>Password</label>
<input type="password" />
<br />
<div class="checkbox">
<input id="send_updates" type="checkbox" />
<label for="send_updates">Send me occasional email updates</label>
</div>
<div class="action_btns">
<div class="one_half"><a href="#" class="btn back_btn"><i class="fa fa-angle-double-left"></i> Back</a></div>
<div class="one_half last"><a href="#" class="btn btn_red">Register</a></div>
</div>
</form>
</div>
</section>
</div>
</div>
And here's the relevant JQUERY code:
(function ($) {
$.fn.extend({
leanModal: function (options) {
var defaults = {
top: 100,
overlay: 0.5,
closeButton: null
};
var overlay = $("<div id='lean_overlay'></div>");
$("body").append(overlay);
options = $.extend(defaults, options);
return this.each(function () {
var o = options;
var modal_id = $(this).attr("href");
function showModal() {
$("#lean_overlay").click(function () {
close_modal(modal_id)
});
$(o.closeButton).click(function () {
close_modal(modal_id)
});
var modal_height = $(modal_id).outerHeight();
var modal_width = $(modal_id).outerWidth();
$("#lean_overlay").css({
"display": "block",
opacity: 0
});
$("#lean_overlay").fadeTo(200, o.overlay);
$(modal_id).css({
"display": "block",
"position": "fixed",
"opacity": 0,
"z-index": 11000,
"left": 50 + "%",
"margin-left": -(modal_width / 2) + "px",
"top": o.top + "px"
});
$(modal_id).fadeTo(200, 1);
};
$(document).ready(function () {
showModal();
});
$(this).click(function (e) {
showModal();
e.preventDefault()
})
});
function close_modal(modal_id) {
$("#lean_overlay").fadeOut(200);
$(modal_id).css({
"display": "none"
})
}
}
})
})(jQuery);
$("#modal_trigger").leanModal({top : 200, overlay : 0.6, closeButton: ".modal_close" });
$(function(){
// Showing User Login Form
$("#login_form").click(function(){
$(".social_login").hide();
$(".user_login").show();
return false;
});
})
CSS styles being used are as follows:
@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700,700italic,400italic);
body {font-family: 'Source Sans Pro', sans-serif; font-size: 14px; color: #666;}
#lean_overlay {
position: fixed;
z-index:100;
top: 0px;
left: 0px;
height:100%;
width:100%;
background: #000;
display: none;
}
.popupContainer{
position:absolute;
width:330px;
height: auto;
left:45%;
top:80px;
background: #FFF;
}
#modal_trigger {margin:100px auto; width:100px; display:block;}
.btn {padding:10px 20px; background: #F4F4F2;}
.btn_red {background: #ED6347; color: #FFF;}
.btn:hover {background: #E4E4E2;}
.btn_red:hover {background: #C12B05;}
a.btn {color:#666; text-align: center; text-decoration: none;}
a.btn_red {color: #FFF;}
.one_half {width:50%; display: block; float:left;}
.one_half.last {width:45%; margin-left:5%;}
/* Popup Styles*/
.popupHeader {font-size:16px; text-transform: uppercase;}
.popupHeader {background:#F4F4F2; position:relative; padding:10px 20px; border-bottom:1px solid #DDD; font-weight:bold;}
.popupHeader .modal_close {position: absolute; right: 0; top:0; padding:10px 15px; background:#E4E4E2; cursor: pointer; color:#aaa; font-size:16px;}
.popupBody {padding:20px;}
/* Other CSS styles... */