Есть слайдер swiper метод вроде реализован, но не могу как определить новый слайд, код ниже (вырезан лишний php код): HTML: <button type="button" data-slide="1112">1112</button> while($arFields = $res->GetNext()) { <div class="SliderSlide swiper-slide" style="<?= $src ?>)"> ... </div> } и код из js Код (Javascript): $('button[data-slide]').click(function(event) { var slideIndex = $(event.target).data('slide'); mySwiper.slideTo(parseInt(slideIndex, 10)); }); Какой класс, id или что еще надо задать слайду 1112 (<div>), чтобы на него перелистнуло при нажатии кнопки. Помогите плиз.
В html код php, а именно цикл while, исполняется ? ничего не настораживает ? Переменная src нормально запакована, а цикл ?
Там всё ок на стороне php. Я выше указал что порезал код, так как там много переменных из php. 1112 тоже для примера на самом деле там <?php echo $arFields['ID']?> Меня именно интересует что указать. Кусок кода целиком: Код (Text): <div class="Slider swiper-container" id="slider"> <div class="swiper-wrapper"> <button type="button" data-slide="1112">1112</button> <?php while($arFields = $res->GetNext()) { ?> <div class="SliderSlide swiper-slide" slideIndex="<?php echo $arFields['ID']?>" style="background-image: url(<?= $src ?>)"> <div class="SliderSlide_Footer"> <div class="SliderSlide_Footer_Title"> <div class="SliderSlide_Footer_Name"><?php echo $arFields['NAME']?></div> <div class="SliderSlide_Footer_Price"><?php echo $arFields['CATALOG_PURCHASING_PRICE']?>Р</div> </div> </div> </div> <?php } ?> </div> <div class="swiper-button-prev"> </div> <div class="swiper-button-next"></div>
Понятно. --- Добавлено --- Код (Javascript): $( 'body' ).on( 'click', 'button[data-slide]', function(event) {
Ошибка из консоли пропала, но по прежнему не работает. Я наверное Вас уже замучил, но прошу помочь еще раз. Код из страницы я привёл, ниже приведу весь код из js файла. Подскажите где что изменить. Код (Javascript): $(function() { var slider = new Swiper('.swiper-container', { direction: 'horizontal', loop: false, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev' } }); var menuList = $('#menu_List'); $('#menu_Button').on('click', function() { menuList.slideToggle(200); }); $('#slider').on('click', function() { menuList.slideUp(200); }); $('button[data-slide]').click(function(event) { var slideIndex = $(event.target).data('slide'); mySwiper.slideTo(parseInt(slideIndex, 10)); }); });
Немного доработал скрипт. Всё норм, но тереь не могу написать скрипт который будет определять каким "порядковый номер" слайда по полю id На первую кнопку возвращает 0, а на остальные -1. В чём причина? HTML: <button type="button" data-slide="<?=$buttonListId?>">слайд</button> <div class="SliderSlide swiper-slide" id="<?php echo $id?>" data-index="i" style="background-image: url(<?= $src ?>)"> </div> Код (Javascript): $('button[data-slide]').click(function(event) { var slideID = $(event.target).data('slide'); var index = $(".swiper-slide").index('#' + slideID); slider.slideTo(index); });