首页 > 解决方案 > 如何在幻灯片更改时更改 img 的 href

问题描述

我正在使用光滑的滑块幻灯片。我试图在幻灯片前进时更改徽标图像的 href。我尝试了两种不同的脚本,但似乎都没有。

<main class="Site-content">
<div class="main slider" id="wrapper">
    <div><img src="#" alt="slider image"></div>
    <div><img src="#" alt="slider image"></div>
    <div><img src="#" alt="slider image"></div>
    <div><img src="#" alt="slider image"></div>
    </div>


<audio class='player slider' src='audio/06. Family Feud.mp3' controls> </audio>



<div class="music slider" id="titles">

  <div><p>#</p>
  </div>

  <div><p>#</p>
  </div>

  <div><p>#</p>
  </div>

  <div><p>#</p>
  </div>

  </div>

</main>



<a href="#" id="newlink">
<picture>
<source media="(min-width: 650px)" srcset="images/cloud-logo-small.png">
<source media="(min-width: 465px)" srcset="images/type-logo-big.png">
<img src="images/type-logo-big.png" style="width:auto;">
</picture>
</a>

主标签中的幻灯片同步在一起


  <script>
    $(document).ready(function(){
    $('.main').slick({
        dots: true,
        arrows: false,
        autoplay: false,
        centerMode: true,
        asNavFor: '.music',
        slidesToShow: 3,
  });
  });
  </script>

<script>
  $(document).ready(function(){
    $('.music').slick({
        asNavFor:'.main',
        mobileFirst: true
  });
  });
  </script>

<script>
$(document).ready(function(){
$('.music').on('beforeChange', playlist);

   function playlist(e, s, current, next) {

     var list = [
      'audio.mp3',
      'audio.mp3',
      'audio.mp3',
      'audio.mp3',

     ];

     $('.player')[0].src = list[next];
     $('.player')[0].load();
     $('.player')[0].play();

   }
 });
</script>


<script>
$(document).ready(function(){
  $("#newlink").on('beforeChange'){
    function links(e, s, current, next) {
      var lnk = [
        'https://youtube.com',
        'https://google.com',
      ];
      $('.blah')[0].href = lnk[next];
    }
  });
</script>

我使用的另一个脚本涉及

$('.your-element').on('swipe', function(event, slick, direction){
    console.log(direction);     
});

我希望徽标图像的 href 可以逐张更改幻灯片。每张幻灯片都需要一个唯一的 href。

标签: javascriptjqueryhtmlhref

解决方案


如果我理解正确,您的“巧妙事件”不会触发。我明白为什么了。

您应该通过在元素上调用 slick 之前放置事件绑定来重新排序事件绑定。让我知道我是否正确。

有同样的问题并通过上述方法解决了。这是slick-carousel文档的要求


推荐阅读