Jquery 循环插件 - 多个 div 与多个后 alt

问题描述

我想让它尽可能简单,我已经尝试了您可以在此代码下找到的方法,但是,我无法将其与多个 afters 结合使用。我也遇到了弯曲代码的问题,出于某种原因,它只是嵌入在 html 中,但不像嵌入脚本。因为我使用的是像 15x 这样的滑块,所以我真的不能让它这样。谢谢!!

$('#down-1').cycle({
      fx: 'scrollDown',next: '#down-1',timeout: 0,speed: 2000,fxFn: null,preventClicks: false,after: function() {
        $('#caption-1').html(this.alt);
      }
    });
    $('#down-2').cycle({
      fx: 'scrollDown',next: '#down-2',after: function() {
        $('#caption-2').html(this.alt);
      }
    });
    
    

html 示例

 <p1 id="caption-1"></p1>
      <table>
        <tr>
          <td>
            <div id="down-1">
              <img class="lazy" src="img/a.jpg" loading="lazy" alt="I/II"/>
              <img class="lazy" src="img/b.jpg" loading="lazy" alt="II/II"/>
            </div>
          </td>
        </tr>
      </table>

更新: 现在我有了这个版本,但无法使字幕正常工作,第一个 alt 总是随机的,后面的(滑动后)似乎是正确的,当我使用相同的 var 时,我根本无法加载字幕。

for (var i = 1; i < 12; i++) {

$('#down-'+ i).cycle({
    fx: 'scrollDown',next: '#down-'+ i,// before: null,after: function(curr,next,opts) {
      for (var j = 1; j < 12; j++) {
      $("#caption-"+ j).html(this.alt).parent();
    }
    }
  });
}

从第一个到下一个(也许是最接近的 alt)调用这个 alt 可能会有所帮助?

可能的方向? $(this.alt).children('img:nth(n)') 应该让它按升序工作

解决方法

变量 i;

for (i = 1; i

$('#down-'+ i).cycle({

fx: 'scrollDown',next: '#down-'+ i,timeout: 0,speed: 2000,preventClicks: false,before: function() {

  $('#caption-'+ i).html(this.alt).parent();

},after: function() {

  $('#caption-'+ i).html(this.alt).parent();

}

});

}

您可以将变量 i 用于两者然后它会起作用,请试试这个

,
  var i;

  for (i = 1; i < 4; i++) {

  $('#down-'+ i).cycle({

      fx: 'scrollDown',next: '#down-2',after: function() {

        $('#caption-2').html(this.alt);

      }

    });

}