首页 > 解决方案 > Bootstrap - 在没有选择器的情况下暂停 Carousel

问题描述

我想要做的是暂停引导轮播。执行此操作的一般方法是通过 jQuery 选择器,如下所示:

$('#carouselId').carousel('pause');

问题是有时另一个视图必须覆盖包装轮播的 HTML,并且轮播元素将不再出现在页面上。我注意到引导间隔 JS 继续在后台运行,这可能会导致我的页面性能不佳,而不必要的间隔脚本正在运行。我不能在 UI 元素丢失之前暂停它,因为它在很多情况下都会发生,而且还有更多原因。当 UI 元素不再存在时,有没有办法停止引导轮播脚本?

我试图将选择器保存在 Javascript 文件中的外部变量中,并在需要暂停轮播以通过该变量使用它时,如下所示:

var carouselElem = $('#carouselId')
$(document).ready(function () {
     carouselElem .carousel();
});

以及何时需要暂停:

carouselElem.carousel('pause');

即使在元素不存在之后,该变量仍保留对缺失元素的引用,但这无济于事。我猜是因为 carouselpause函数试图访问该元素的属性

标签: jquerytwitter-bootstrap

解决方案


尝试使用.carousel选择器

$('.carousel').carousel('pause')

推荐阅读