Ползунок запуска по нажатию кнопки с скользящим слайдом Не работает? - PullRequest
0 голосов
/ 30 ноября 2018

Я пытался создать слайдер с пользовательскими кнопками, используя библиотеку Slick Slide.Когда вы запускаете «# slider-swap», слайд должен измениться на второй слайд, который имеет ту же кнопку (другое имя), которая меняет слайд обратно на первый.

Я сделал свой собственный флипбокс, но закончилпридерживайтесь этого, так как он будет выполнять работу без загрузки каких-либо дополнительных JS.

Однако, когда я нажимаю кнопку, ничего не происходит.Я не уверен, что я делаю неправильно.У меня такое ощущение, что это что-то с разметкой HTML, и пятно путается с тем, что переключать.

Есть идеи?Возможно, потому что уже довольно поздно, и я работаю над этим проектом с 8 утра: X

<div class="cs-challenge">
<div class="front"> 
    <div class="cs-heading chalbg">
        <i class="fal fa-bullseye"></i>
        <h3>The Challenge</h3>
    </div>
    <div class="cs-content solbg chaltxt">
        <ul>
            <li>An uneven fouling covered at least 70% of the convection bank finned 
            surface.</li>
            <li>Deposit was airborne hydro carbon dust and refractory fines – packed tightly
            between all rows of convection side fined heater tubes</li>
            <li>Severely restricted access to the convection section.</li>
            <li>To clean the tube side using studded pigging at the same time.</li>
        </ul>
        <a class="btn" id="slider-swap" href="#">Change Slide</a>
    </div>
</div>
<div class="back">
    <div class="cs-heading solbg">
        <i class="fal fa-bullseye-arrow"></i>
        <h3>Solution</h3>
    </div>
    <div class="cs-content chalbg soltxt">
        <ul>
            <li>An uneven fouling covered at least 70% of the convection bank finned 
            surface.</li>
            <li>Deposit was airborne hydro carbon dust and refractory fines – packed tightly
            between all rows of convection side fined heater tubes</li>
            <li>Severely restricted access to the convection section.</li>
            <li>To clean the tube side using studded pigging at the same time.</li>
        </ul>
        <a class="btn" id="slider-swap" href="#">Change Slide</a>
    </div>
</div> 
</div>

<script>
    $(document).ready(function() {
        $(".cs-challenge").slick({
          autoplay: false,
          speed: 250,
          slidesToShow: 1,
          slidesToScroll: 1,
          fade: true,
          arrows: false,
          cssEase: 'linear',
          infinite: true
        });

    });
    var indexVal=1;
    $("#slider-swap").click(function(e){
            e.preventDefault();
            $( ".cs-challenge" ).slickGoTo(indexVal);
            indexVal=indexVal+1;
            if(indexVal>2){
            indexVal=1;
            }
        });
</script>

Вот jsfiddle: http://jsfiddle.net/no30vq8h/

1 Ответ

0 голосов
/ 30 ноября 2018

Разрешил.

Так что .slickGoTo - это устаревшая функция, больше не работает (афаик?).Я изменил его, чтобы использовать indexVal с .data ('id');и html-атрибуты data-id для кнопки.

Теперь, когда вы нажимаете кнопку, она будет переходить между каждым слайдом.

<a class="btn slider-swap" data-id="2" href="#">Challenge</a>

    //var indexVal=1;
jQuery(".slider-swap").click(function(e){
        e.preventDefault();
        var indexVal = jQuery(this).data('id');
        console.log(indexVal);
        jQuery( ".cs-challenge" ).slick('slickGoTo',indexVal);
        /*indexVal=indexVal+1;
        if(indexVal>2){
        indexVal=1;
        }*/

    });

Вот окончательный код.https://pastebin.com/fH68Uw8W

...