如何向 Unslider 添加自定义 onClick 函数,以便前进到下一张幻灯片?

How do I add a custom onClick function to Unslider so I advance to the next slide?

我正在尝试使用 Unslider 创建自定义导航。

我想在单击幻灯片时前进到下一张幻灯片。

我是 Javascript 的新手。我的代码是:

<script>
  jQuery(document).ready(function($) {
    $('.my-slider').unslider({
      arrows:false
    });
  .on('click', function(){
    .unslider('next');
    });
  });
</script>

HTML:

<div class="my-slider">
  <ul>
    <li><img class="img-pad" src="img/img-1.jpg" alt=""></li>
    <li><img class="img-pad" src="img/img-2.jpg" alt=""></li>
    <li><img class="img-pad" src="img/img-3.jpg" alt=""></li>
  </ul>
</div>

我知道错了,但不知道错到什么程度。

您在 unslider 之前错误地使用了 .。请记住,点应该始终跟在对象之后。单独使用一个点没有任何意义。 所以你的 onClick 函数目前什么都不做,因为它是这样的:

function(){
          .unslider('next');
};

您是在告诉代码调用 non-existing 实体上的函数。

试试这个:

function(){
     $('.my-slider').unslider('next');
};

虽然这实际上不起作用(因为unslider是一种初始化方法)。您需要引用 unslider 对象。所以这可能有效:

function(){
     this.('next');
};

或者您可以阅读文档并使用他们的示例来代替:

<script>
    jQuery(document).ready(function($) {

        var slider = $('.my-slider').unslider(
        {
           arrows:false
        });

        slider.on('click', function(){
          slider.unslider('next');
        });
    });

</script>

根据 documentation,不要对箭头的值使用 false,而是使用以下代码:

arrows: {
    //  Unslider default behaviour
    prev: '<a class="custom-control prev">Previous slide</a>',
    next: '<a class="custom-control next">Next slide</a>',

    //  Example: generate buttons to start/stop the slider autoplaying
    stop: '<a class="unslider-pause" />',
    start: '<a class="unslider-play">Play</a>'
}

PS:在选项卡方法和选项下