Слайдер, показывающий только текст - PullRequest
0 голосов
/ 25 марта 2019

Когда я пытаюсь реализовать этот слайдер Slick, я получаю только список чисел, как на картинке: https://codepen.io/AntFArm/pen/JNEgJE

html код:

<div class="main">
  <div class="slider slider-for">
    <div><h3>1</h3></div>
    <div><h3>2</h3></div>
    <div><h3>3</h3></div>
    <div><h3>4</h3></div>
    <div><h3>5</h3></div>
  </div>
  <div class="slider slider-nav">
    <div><h3>1</h3></div>
    <div><h3>2</h3></div>
    <div><h3>3</h3></div>
    <div><h3>4</h3></div>
    <div><h3>5</h3></div>
  </div>
  <div class="action">
    <a href="#" data-slide="3">go to slide 3</a>
    <a href="#" data-slide="4">go to slide 4</a>
    <a href="#" data-slide="5">go to slide 5</a>
  </div>
</div>

js код:

 $('.slider-for').slick({
   slidesToShow: 1,
   slidesToScroll: 1,
   arrows: false,
   fade: true,
   asNavFor: '.slider-nav'
 });
 $('.slider-nav').slick({
   slidesToShow: 3,
   slidesToScroll: 1,
   asNavFor: '.slider-for',
   dots: true,
   focusOnSelect: true
 });

 $('a[data-slide]').click(function(e) {
   e.preventDefault();
   var slideno = $(this).data('slide');
   $('.slider-nav').slick('slickGoTo', slideno - 1);
 });

Я получаю это:

enter image description here

У меня точно такой же код, как на сайте codepen.io. Также я обращаюсьне было никаких ошибок.Что я делаю неправильно?Заранее спасибо.

Мой скрипт включает в себя:

<script src="/js/jquery.min.js"></script>
<script src="/js/jquery-ui.min.js"></script>
<script src="/js/slick.min.js"></script>
<link rel="stylesheet" type="text/css" href="/assets/slick/slick.css"/>
<link rel="stylesheet" type="text/css" href="/assets/slick/slick-theme.css"/>
<script type="text/javascript" src="/assets/slick/slick.min.js"></script>
<script>
    $('.slider-for').slick({
        slidesToShow: 1,
        slidesToScroll: 1,
        arrows: false,
        fade: true,
        asNavFor: '.slider-nav'
    });
    $('.slider-nav').slick({
        slidesToShow: 3,
        slidesToScroll: 1,
        asNavFor: '.slider-for',
        dots: true,
        focusOnSelect: true
    });

    $('a[data-slide]').click(function(e) {
        e.preventDefault();
        var slideno = $(this).data('slide');
        $('.slider-nav').slick('slickGoTo', slideno - 1);
    });
</script>

Я загружаю необходимые файлы в голову:

enter image description here

Ответы [ 3 ]

0 голосов
/ 25 марта 2019

Похоже, что гладкие стили по умолчанию не применяются, дважды проверьте, что они у вас есть и путь к ним правильный.

<link rel="stylesheet" type="text/css" href="/assets/slick/slick.css"/>
<link rel="stylesheet" type="text/css" href="/assets/slick/slick-theme.css"/>
0 голосов
/ 01 апреля 2019

В вашем коде ручки slick не загружается, поэтому вы получаете DOM-дисплей по умолчанию для ваших div-ов (один под другим). Должно быть что-то не так с вашей загрузкой скриптов.

0 голосов
/ 25 марта 2019

Javascript запускается, как видно. Поскольку ваш код не работает, я должен предположить, что вы добавляете свой скрипт в <head> или, по крайней мере, до того, как вы определили <div class="main">. Механизм рендеринга еще не рендерил релевантные элементы слайдера, поэтому он не может их найти и ничего не делает ...

Либо оберните ваш скрипт в onload (или $(function() {/* your code here */})), либо поместите ваш скрипт внизу вашей страницы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...