Orbit 内置了子弹导航系统。我不想使用这些项目符号在幻灯片之间导航,而是想使用我页面上导航菜单中的项目来做同样的事情。有没有一种优雅的方法可以基本上用一系列 div 代替子弹,这样当我点击我的一个 div 时,它会导致 Orbit 滚动到适当的幻灯片?创建自己的内容滑块会更明智吗?提前感谢您提供的任何建议。
问问题
1673 次
3 回答
2
我也在寻找一种方法来做到这一点 - 看起来这可能应该内置在轨道上以获得更大的灵活性。
我快速浏览了一下并使用轨道 1.4.0调整了这个解决方案https://github.com/zurb/foundation/issues/118/ 。
您可以为导航使用任何您喜欢的结构:
<div id="custom-orbit-nav">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
然后用jquery绑定导航div,并使用orbit函数改变幻灯片索引,这是我的初始化代码:
$("#featured").orbit();
$("#custom-orbit-nav div").click(function() {
var myIndex = $(this).index();
$(this).addClass("active");
$("#featured").trigger("orbit.stop").trigger("orbit.goto", [myIndex]);
return false;
});
于 2013-02-23T03:10:39.530 回答
1
确保在设置 Orbit 时启用了项目符号。这看起来像:
$(document).ready(function() {
$("#yourOrbitElement").orbit({
bullets: true
});
});
然后,使用 CSS,将项目符号设置为visibility: hidden;
使用 CSS。
然后,您只需要欺骗 Orbit 使其认为当您实际使用 jquery 的.click()
. 这可能看起来像:
$(".yourNavElements").click(function(){ //when you click on your nav element
$("#theAppropriateBullet").click(); //auto-click on the corresponding bullet
});
为此,您需要一些方法来跟踪哪个导航按钮控制哪个项目符号。我在每个导航按钮的属性中存储了一个索引号data
,然后针对:contains()
匹配索引的项目符号。
于 2013-02-23T03:02:21.253 回答
0
只是一个快速的仅供参考,因为我花了比我愿意承认自己试图解决这个问题的时间更多的时间。Foundation/Orbit 现在(不确定从什么时候开始,这是我第一次尝试)现在支持开箱即用的深度链接。以防其他人像我一样偶然发现:http: //foundation.zurb.com/docs/components/orbit.html
于 2014-01-30T21:28:31.820 回答