swipebox.js-不可能以相反的顺序滑动或导航幻灯片

swipebox.js - swiping or navigating slides in reverse order not possible?

本文关键字:导航 幻灯片 顺序 不可能 js- swipebox      更新时间:2023-09-26

动态加载幻灯片时(http://brutaldesign.github.io/swipebox/),似乎不可能向右滑动以加载最后一张幻灯片并按相反顺序循环浏览幻灯片。目前,我只能向左滑动以按指定顺序查看每张幻灯片。

这是我当前的代码:

jQuery( '.images' ).click( function( e ) {
    e.preventDefault();
    jQuery.swipebox( [
        { href:'image1.jpg' },
        { href:'image2.jpg' },
        { href:'image3.jpg' },
        { href:'image4.jpg' },
        { href:'image5.jpg' },
        { href:'image6.jpg' }
    ] );
} );

这将加载image1.jpg并按顺序在每张幻灯片中移动。无法从image1.jpg反向移动到image6.jpg。

对于这个问题,有任何可能的解决方法或解决方案吗?

您需要更改一些源代码。在函数getPrev中,您可以实现与函数getNext中相同的逻辑,使用一个新选项,让我们称之为enableReverse。在调用插件时,您将把它设置为true作为常规选项(不要忘记给defaults对象添加一个默认值)。你最终会得到这样的东西:

getPrev : function () {
  var index = $( '#swipebox-slider .slide' ).index( $( '#swipebox-slider .slide.current' ) ), src;
  if ( index > 0 ) {
    // normal implementation
  } else {
    if ( plugin.settings.enableReverse === true ) {
      // get inspired by getNext function and use the correct indexes
    } else {
      // normal implementation
    }
  }
}

您还必须更改setSlide功能结束时的条件,以便不会禁用"prev"按钮:

if ( index === 0 )

变为:

if ( index === 0 && plugin.settings.enableReverse !== true )

希望这会有所帮助!