делаю собственную галерею для диплома и столкнулся с такой проблемой: нужно определить первую и последнюю картинку и что бы при их всплыве в модальном окне не были отображены кнопки prev и next соответственно. Вот код:
<div id="gallery">
<a class="gal-img" href="" alt=""><img src="gallery/orig/1.jpg"></a>
<a class="gal-img" href="" alt=""><img src="gallery/orig/2.jpg"></a>
<a class="gal-img" href="" alt=""><img src="gallery/orig/3.jpg"></a>
<a class="gal-img" href="" alt=""><img src="gallery/orig/4.jpg"></a>
</div>
<div id="modal">
<span class="close"></span>
<span class="next"></span>
<span class="prev"></span>
<div class="view">
</div>
</div>
$('.gal-img').on('click', function(e){
var image = $(this).find('img');
e.preventDefault();
if($('.gal-img').not(':first-child')){
$('.prev').show();
}else{$('.prev').hide()};
$('.view').find('img').remove();
$('.view').append("<img src='"+$(image).attr('src')+"'>");
$('.gal-img.gal-act').removeClass('gal-act');
$(this).addClass('gal-act');
cover.fadeIn();
modal.fadeIn();
});
$('#cover').on('click', function(e){
modal.fadeOut();
cover.fadeOut();
});
$('.close').on('click', function(e){
modal.fadeOut();
cover.fadeOut();
});
$('.next').on('click', function(){
var image = $('.gal-img.gal-act').next('.gal-img');
$('.view').find('img').remove();
$('.gal-img.gal-act').removeClass('gal-act').next().addClass('gal-act');
$('.view').append("<img src='"+$(image).find('img').attr('src')+"'>");
});
$('.prev').on('click', function(){
var image = $('.gal-img.gal-act').prev('.gal-img');
$('.view').find('img').remove();
$('.gal-img.gal-act').removeClass('gal-act').prev().addClass('gal-act');
$('.view').append("<img src='"+$(image).find('img').attr('src')+"'>");
});