Cycle2 Autostop无法正常工作

Jer*_*emy 3 javascript jquery sitecore jquery-cycle2

对于最近的项目,我们正在使用Cycle2.我已升级到最新版本.我们使用Sitecore来呈现内容.无论我采取的方法(下面),我都无法使自动停止运行.我们每张幻灯片有2-3张幻灯片,我们希望它按以下方式移动:1-2-3-1.

我们是否将其渲染为以下规则中的自动播放:

<ul class="<%# Sitecore.Context.PageMode.IsPageEditor ? String.Empty : "cycle-slideshow" %> interior" 
                data-cycle-speed="3000" 
                data-cycle-autostop="true"
                data-cycle-timeout="5000" 
                data-cycle-auto-height="container"
                data-cycle-slides="> li" >
                <sc:Placeholder  runat="server" ID="SlidePlaceholder" Key="SlidePlaceholder" /></ul>
Run Code Online (Sandbox Code Playgroud)

或者,如果我们在没有"cycle-slideshow"类的JS中以编程方式播放:

$('#my-slideshow').cycle({
    speed: 3000,
    autostop: true,
    timeout: 5000,
    end: function() {
        $('#my-slideshow').cycle('stop');
    }
});
Run Code Online (Sandbox Code Playgroud)
  • 我们正在正确加载JQuery.
  • 在对功能进行一些研究之后,我已经尝试了'true'和'1'来自动停止.
  • 我们还使用Carousel和Swipe Cycle2库.
  • 我们同时加载以下库:fancybox 2.1.4,查询,imagesloaded jquery.ba-resize,jquery.qtip,jquery.rwdImageMaps,Slimscroll和modernizer.
  • 它正常循环.我们可以基于捕获视口的更改来使其停止内联,但标准的自动停止不起作用.这是一个快速的concole日志捕获(IE,FF和Chrome之间相同)
  • [cycle2] --c2 init-- jquery.cycle2.min.js:6
  • [cycle2] speed:3000(number)jquery.cycle2.min.js:6
  • [cycle2] autostop:true(boolean)jquery.cycle2.min.js:6
  • [cycle2] timeout:5000(number)jquery.cycle2.min.js:6
  • [cycle2] autoHeight:container(string)jquery.cycle2.min.js:6
  • [cycle2] slide:> li(string)jquery.cycle2.min.js:6
  • 它在原始HTML模式下演示了与静态内容相同的行为
  • 另外,我运行了通过JS Lint在页面中启动的所有JS.

任何帮助/建议表示赞赏.谢谢你的时间.

jam*_*kam 5

假设您正在使用Malsup的Cycle2插件,那么API文档不包含名为的选项autostop.也许你的意思是loop选择?

整数
0
自动前进幻灯片应在终止前循环的次数.如果该值小于1,则幻灯片将连续循环.设置为1以循环一次,等等.

所以要么:

 <ul ... data-cycle-loop="1" .. /></ul>
Run Code Online (Sandbox Code Playgroud)

要么

var $slideshow = $('#my-slideshow');
$slideshow.cycle({
    speed: 3000,
    loop: 1,
    timeout: 5000
});

// jump back to the first slide when loop has finished
// you might have to use setTimeout() to delay the transition back to the first slide
$slideshow.on('cycle-finished', function(event, opts) {
    $slideshow.cycle('goto', 0);
});
Run Code Online (Sandbox Code Playgroud)