最后一张幻灯片上的轨道jquery滑块暂停

时间:2011-12-19 14:03:37

标签: javascript jquery coda-slider orbit

我正在使用Zurb Orbit Slider:http://www.zurb.com/playground/jquery_image_slider_plugin

我使用以下设置进行幻灯片放映:

$(window).load(function() {
$('#featured').orbit({
    animation: 'fade',               
    animationSpeed: 100,                // how fast animtions are
    timer: true,                        // true or false to have the timer
    advanceSpeed: 250,                  // time between transitions 
    directionalNav: false,              // manual advancing directional navs
    afterSlideChange: function(){}      // empty function               
    });
});

然后我正在使用CSS隐藏计时器(因为如果我关闭计时器然后帧没有前进而我隐藏了方向导航所以......):

div.timer {display: none;}

无论如何,到目前为止所做的一切对我来说都是完美的。我可以弄清楚如何做的是让幻灯片放映停止在幻灯片中旋转,即停止在最后一张幻灯片上/不循环回到第一张幻灯片。

我怀疑答案与幻灯片更改后添加功能的能力有关:

afterSlideChange: function(){}
但是,唉,这个JS超出了我的范围。

如果你好奇的话:这是一个小实验,我正在使用jquery滑块创建一种定格动画,这种技术我一直想知道。它工作得很好,但永远的循环真的搞砸了。 :)

非常感谢您的时间和分享您的专业知识!

乔恩

2 个答案:

答案 0 :(得分:0)

我在搜索自己时发现了这一点:https://github.com/zurb/orbit/issues/49

答案 1 :(得分:0)

想出来,但这只适用于你将Orbit滑块设置为在鼠标悬停时暂停的情况。

解决方案:如果您已将轨道滑块设置为在鼠标悬停时暂停,则可以使用jquery在特定幻灯片上触发鼠标悬停事件。我基本上使用了一个计数器和afterslidechange功能来将它们放在一起。下面是代码,只需将其复制并粘贴到您的html文件或您的Orbit滑块存在的位置。

注意:以下代码设置为四张幻灯片。它在一个循环后停在第一张幻灯片上。如果要更改幻灯片编号,只需更改if条件中的计数值。 您还需要为滑块中的每个图像添加链接,并为每个链接指定ID。这是调用on mouseover事件所必需的。

<div id="featured"> 
 <a href="#" id="link"><img src="images/hero1.jpg" /></a>
 <a href="#" id="link"><img src="images/hero2.jpg"  /></a>
 <a href="#" id="link"><img src="images/hero3.jpg" /></a>
 <a href="#" id="link"><img src="images/hero4.jpg" /></a>
</div>

<script type="text/javascript">
var count = 1;
$(window).load(function() 
{
  $('#featured').orbit(
      {
        afterSlideChange: function()
   {
      count++;
      if(count == 5)
           {
              $("#link").trigger("mouseover");
           }

    }               
    });
});

</script>