无需 JavaScript 的方法
您可以使用data-slide-to
属性来实现此目的,该属性接受从零开始的索引表示幻灯片编号。
使用数据属性轻松控制走马灯位置。data-slide
接受关键字prev
或next
,这会相对于其当前位置更改幻灯片位置。 或者,使用data-slide-to
将原始幻灯片索引传递给走马灯 data-slide-to="2"
,这将将幻灯片位置移动到以0
开始的特定索引。
只需为您的链接添加属性即可。
<a href="#" data-slide-to="5">Go to slide #5</a>
感谢Cawas在这个答案下的评论和Jonas在这个问题上的回答
旧式 JavaScript 方法
你需要使用.carousel(number)
函数。
.carousel(number)
将轮播图循环到特定帧(从0开始,类似于数组)。
查看Bootstrap文档。
更具体地说:
创建一个JavaScript函数进行调用,它应该像这样:
function goToSlide(number) {
$("#carousel").carousel(number);
}
然后,在您的链接上添加一个onClick事件即可。
<a href="#" onClick="javascript:goToSlide(5);">Go to slide #5</a>
从URL获取幻灯片信息
源链接为www.example.com/models.php/4
您可以在document.ready
中检查url,如果url末尾有数据,则只需调用您的goToSlide函数。
var url = window.location.href;
var slide = url.substring(url.lastIndexOf('/')+1);
if( slide.indexOf("/") > -1 ) {
var slideRmvSlash = slide.replace('/','');
slide = parseInt(slideRmvSlash);
}
goToSlide(slide);
<a href="#" data-slide="5">...</a>
,然后在JS中编写处理程序,如$("[data-slide]").click(function(e){ e.preventDefault(); ... });
。 - moonwave99<a href>
与问题无关,但是在那里有一个进一步的、也许是巧合的优化步骤(看起来@moon没有注意到),我通过Jonas下面的回答意识到了这一点:对于a href
,我们可以只使用data-slide="next"
或在这种情况下使用data-slide=2
,不需要进一步的javascript。它在文档中有说明(http://getbootstrap.com/javascript/#carousel)。 - cregox