1

我正在使用 Zurb 轨道滑块: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 滑块创建一种定格动画,这是我一直想知道的一种技术。它工作得很好,但永远循环真的把事情搞砸了。:)

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

乔恩

4

2 回答 2

0

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

于 2012-07-24T18:31:56.460 回答
0

想通了,但这仅在您将 Orbit 滑块设置为鼠标悬停时才有效。

解决方案:如果您已将轨道滑块设置为在鼠标悬停时暂停,则可以使用 jquery 在特定幻灯片上触发 mouseover 事件。我基本上使用了一个计数器和 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>      
于 2013-04-19T20:30:16.100 回答