2016-02-12 4 views
3

Я использую slick.js для включения слайдера. Я хочу удалить «предыдущую» стрелку, когда первый слайд активен, и стрелку «next», когда последний слайд активен. Возможно, мне придется удалить обе стрелки, когда последний слайд активен. Есть ли функция slick event или функция jquery, которая может это сделать?Slick Slider - удалите стрелки с разных слайдов

+0

Почему вы ant удалить обе стрелки на конечном слайде? Также вы упомянули, что хотите удалить следующую стрелку на последнем слайде. Что вы подразумеваете под последним и последним слайдом? Они одно и то же право? – pratikpawar

+0

Да, они такие же. Поэтому, если я нахожусь на последнем слайде, я не хочу, чтобы следующая стрелка появлялась - потому что не существует следующего слайда, и я не хочу начинать сначала. – heytricia

ответ

6

Чтобы отключить предыдущую стрелку на первом слайде и следующей стрелке на последнем слайде, вы можете определить infinite : false, на гладкой инициализации, как показано ниже.

$("#slider").slick({ 
     infinite : false 
    }); 

Если у вас есть дополнительные настройки, просто включите это при инициализации. slider - идентификатор контейнера.

Это отключает стрелки на слайдере. Чтобы удалить стрелки, вы можете просто скрыть его, когда активен первый/последний слайд. Пройдите документацию о том, как получить активный слайд на слайдере и с помощью jquery hide вы можете скрыть стрелку по имени класса кнопки со стрелкой. Вы можете получить класс/идентификатор кнопки со стрелкой, проверив элемент. Щелкните правой кнопкой мыши на стрелке и проверьте ее.

Чтобы получить текущий слайд: $('#slider').slick('slickCurrentSlide');

Чтобы скрыть или показать рядом со стрелкой: $('.slick-next').show(); или $('.slick-next').hide();

Аналогично для предыдущая стрелка: $('.slick-prev').show(); или $('.slick-prev').hide();

Heres скрипку:https://jsfiddle.net/pjfw1wqz/

+0

Спасибо! Я добавил настройку «infin: false», но стрелки все еще были видны, и я думал, что неправильно понял настройку. Это была пятница и конец очень длинной недели - я был мертв мозгом! Теперь, когда я смотрю на нее более подробно, я вижу, что даже если кнопка установлена ​​для отображения, она также отключена. Я могу настроить таргетинг на отключенный класс, чтобы скрыть кнопки. Пользователь по-прежнему будет иметь доступ к навигационным точкам и может при необходимости начать работу. Спасибо, что помогли мне понять, как работать с afterChange. Это то, что я считал нужным, и при необходимости я могу сделать больше. – heytricia

0
 // slick init 
     startSlick(); 
     var tickerDiv = $("#animatedHeading"); 
     function startSlick(slick) { 
      tickerDiv.slick({ 
       arrows: true, 
       infinite: false, 
       adaptiveHeight: true 
       }); 
       var current_article = tickerDiv.slick('slickCurrentSlide'); 
       var total_articles = tickerDiv.slideCount; 
       tickerDiv.on('init reInit afterChange', function(event, slick, currentSlide, nextSlide){ 
        current_article = tickerDiv.slick('slickCurrentSlide'); 
        total_articles = slick.slideCount; 
        slickArrow(); 
       }); 
       slickArrow(); 
       function slickArrow() { 
        if(current_article==0){ 
         $('.slick-prev').hide(); 
        }else{ 
         $('.slick-prev').show(); 
        } 
        if (current_article==total_articles-3){ 
         $('.slick-next').hide(); 
        }else{ 
         $('.slick-next').show(); 
        } 
       } 
     }; 
Смежные вопросы