我正在使用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滑块创建一种定格动画,这种技术我一直想知道。它工作得很好,但永远的循环真的搞砸了。 :)
非常感谢您的时间和分享您的专业知识!
乔恩
答案 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>