Overlay Problem SO
HTML
<div class="wrapper">
<div class="codeCont">
<img src="http://jpowell43.mydevryportfolio.com/Port-2:14/images/psd-3T.jpg" alt="image" data="http://jpowell43.mydevryportfolio.com/Port-2:14/images/psd-3.jpg" />
<img src="http://jpowell43.mydevryportfolio.com/Port-2:14/images/psd-2T.jpg" alt="image" data="http://jpowell43.mydevryportfolio.com/Port-2:14/images/psd-2.jpg" />
<img src="http://jpowell43.mydevryportfolio.com/Port-2:14/images/psd-1T.jpg" alt="image" data="http://jpowell43.mydevryportfolio.com/Port-2:14/images/psd-1.jpg" />
</div>
<div class="overlay"><img src="" alt="Portfolio Image" /><span class="close">X</span></div>
</div>
</div>
CSS
.wrapper {
width: 65%;
height: 70%;
margin: 0 auto;
position: relative;
top: 15%;
left: 0;
padding: 10px;
overflow: scroll;
background: rgba(255, 255, 255, 0.4);
}
.codeCont {
max-width: 100%;
margin-bottom: -10px;
column-count: 3;
-webkit-column-count: 3;
-moz-column-count: 3;
-o-column-count: 3;
column-gap: 10px;
-webkit-column-gap: 10px;
-moz-column-gap: 10px;
-o-column-gap: 10px;
}
.codeCont img {
width: 100%;
margin-bottom: 10px;
cursor: pointer;
display: block;
}
.overlay {
width: 60%;
left: 20%;
top: 50%;
position: fixed;
z-index: 100;
display: none;
background-size: auto 100%;
background-position: top center;
background-repeat: no-repeat;
}
.overlay img {
width: 100%;
}
.imgLong {
width: 40%;
left: 30%;
}
.close {
width: 50px;
height: 50px;
position: absolute;
right: 0;
top: 0;
background: rgba(255, 255, 255, 0.3);
text-align: center;
line-height: 50px;
font-size: 3em;
color: rgba(0, 0, 0, 0.6);
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
cursor: pointer;
}
JavaScript
function imgOverlay() {
$('.codeCont img').on('click', function() {
var imgData = $(this).attr('data');
$('.overlay').fadeIn().find('img').attr('src', imgData);
var iH = $('.overlay img').height()/2,
safeInt = Math.floor(iH),
imgH = "-" + safeInt + 'px';
$('.overlay').css({
'margin-top' : imgH
});
if ($('.overlay img').attr('src') === 'images/vec-3.jpg') {
$('.overlay').addClass('imgLong');
}
else {
$('.overlay').removeClass('imgLong');
}
$('.close').on('click', function() {
$('.overlay').fadeOut();
});
});
}
imgOverlay();