Проблема с next()
Вложений: 1
Пытаюсь сделать фотогалерею, проблема возникла при внедрении стрелочек вперед и назад, чтобы картинки листались. Для этого при клике по стрелке сравниваю атрибут сорс преьюшек и большой картинки, и если он совпадает, меняю src большой картинки на srs следующей превьюшки. Со стрелкой "назад" все нормально, но когда жму на стрелку для показа следующей картинки, сразу последняя картинка появляется. Архив со скриптом во вложении. ПАМАГИТЕ ПОСОНЫ!!!
код скрипта: $(document).ready(function() { $(document).click( function(event){ if( $(event.target).closest(".big-img").length ) return; $(".modal").css("display","none"); $(".fon-gallery").css("display","none"); event.stopPropagation(); }); $('.box-img img').click(function(){ $('.big-img img').attr('src', $(this).attr('src')); $('.modal').css("display","block"); $('.fon-gallery').css("display","block"); return false; }); $('.prev').click(function(){ $('.box-img img').each(function(){ if (($(this).attr('src')) == ($('.big-img img').attr('src'))){ var a = $(this).parent().prev().children().attr('src'); }; $('.big-img img').attr('src', a); }); }); //до этого все нормально, а тут и проблема $('.next').click(function(){ $('.box-img img').each(function(){ if (($(this).attr('src')) == ($('.big-img img').attr('src'))){ var a = $(this).parent().next().children().attr('src'); }; $('.big-img img').attr('src', a); }); }); }); верстка: Код:
<!DOCTYPE HTML> Стили CSS: Код:
/*------gallery------*/ |
Цитата:
$('.next').click... после строки $('.big-img img').attr('src', a); можно добавить строку if (a) { return false; } это остановит цикл each, сразу после нахождения след. картинки и обновления '.big-img img' |
Часовой пояс GMT +3, время: 16:30. |