Я новичок в JS, так что будьте терпеливы со мной. Я работаю на веб-сайте с фотогалереей, где, когда вы нажимаете на изображение, он открывает модальный. Я работал над бесплатным шаблоном, чтобы понять это.JS добавление кнопки закрытия для модального
Однако я добавил значок «закрыть», но я не знаю, как заставить его работать. Не могли бы вы мне помочь?
Вот код:
$(document).ready(function(){
\t $('li img').on('click',function(){
\t \t var src = $(this).attr('src');
\t \t var img = '<img src="' + src + '" class="img-responsive"/>';
\t \t
\t \t //start of new code new code
\t \t var index = $(this).parent('li').index();
\t \t var html = '';
\t \t html += '<span class="close" style=padding:5px;>X</span>';
\t \t html += img;
\t \t html += '<div style="height:25px;clear:both;display:block;">';
\t \t html += '<a class="controls next" href="'+ (index+2) + '">pros »</a>';
\t \t html += '<a class="controls previous" href="' + (index) + '">« prec</a>';
\t \t html += '</div>';
\t \t
\t \t $('#myModal').modal();
\t \t $('#myModal').on('shown.bs.modal', function(){
\t \t \t $('#myModal .modal-body').html(html);
\t \t \t //new code
\t \t \t $('a.controls').trigger('click');
\t \t \t $('span.close').trigger('click');
\t \t })
\t \t $('#myModal').on('hidden.bs.modal', function(){
\t \t \t $('#myModal .modal-body').html('');
\t \t });
\t \t \t \t
}); \t
})
$(document).on('click', 'a.controls', function(){
\t var index = $(this).attr('href');
\t var src = $('ul.row li:nth-child('+ index +') img').attr('src');
\t
\t $('.modal-body img').attr('src', src);
\t
\t var newPrevIndex = parseInt(index) - 1;
\t var newNextIndex = parseInt(newPrevIndex) + 2;
\t
\t if($(this).hasClass('previous')){
\t \t $(this).attr('href', newPrevIndex);
\t \t $('a.next').attr('href', newNextIndex);
\t }else{
\t \t $(this).attr('href', newNextIndex);
\t \t $('a.previous').attr('href', newPrevIndex);
\t }
\t
\t var total = $('ul.row li').length + 1;
\t //hide next button
\t if(total === newNextIndex){
\t \t $('a.next').hide();
\t }else{
\t \t $('a.next').show()
\t }
\t //hide previous button
\t if(newPrevIndex === 0){
\t \t $('a.previous').hide();
\t }else{
\t \t $('a.previous').show()
\t }
\t
\t
\t return false;
});
Заранее спасибо :-)
Если бы вы могли опубликовать JSBin или JSFiddle вашего кода вы получите решение в кратчайшие сроки. :) – Mihailo
Мне было скучно, поэтому я сделал [This] (http://jsbin.com/sizuzas/edit?html,js,output). Если вы сочтете это полезным, я предоставлю дополнительную информацию. – Mihailo