1

好的,我正在尝试修改现有的 fullpage.js 插件(https://github.com/alvarotrigo/fullPage.js/)。

我需要的是,当用户离开每个部分时,该部分应自动返回到该部分的主幻灯片。

例如,使用位于此处的我的测试站点:( http://trouve.thinkatmosphere.com )。如果我目前在“关于”部分并且我导航到右侧然后离开“关于”部分并在返回“关于”部分时向下导航到“客户”部分我需要它在第一个再次播放该部分的幻灯片。

我将如何修改以下代码以允许我执行此操作:

$.fn.fullpage.moveToSlide = function (index, slide) {
  var destiny = '';
  if(isNaN(index)) {
    destiny = $('[data-anchor="'+index+'"]');
  } else {
    destiny = $('.section').eq( (index -1) );
  }
  if (isNaN(index) && slide !== 'undefined') {
    scrollPageAndSlide(index, slide);
  } else {
    if (destiny.length > 0) {
      scrollPage(destiny);
    }
  }
};`
4

1 回答 1

1

任何选项都无法做到这一点。您需要为其修改插件,而不是您指出的功能。这样,用户将被重定向到给定的部分和幻灯片。您需要在用户不知情的情况下在后台进行移动。

您需要scrollSlider公开该函数并从您自己的代码(onLeaveafterLoad回调)中调用它

要使其公开并因此可以从初始化或任何其他外部代码访问,您需要从以下更改函数的标头:

function scrollSlider(section, slide) {
    if (typeof slide != 'undefined') {
        var slides = section.find('.slides');
        var destiny = slides.find('[data-anchor="' + slide + '"]');
        if (!destiny.length) {
            destiny = slides.find('.slide').eq(slide);
        }

        landscapeScroll(slides, destiny);
    }
}

对此:

$.fn.fullpage.scrollSlider= function(section, slide){
  /// .... the same code as in the old function
}

然后,onLeave在当前部分中,您可以为同一部分调用该函数,并0slide.

于 2013-12-17T12:56:00.057 回答