9

所以我遇到了一个小问题(类似于我前几天发布的这个:http: //bit.ly/11JpbdY),在加载时隐藏的一段内容上使用 SlabText。这一次,我试图让slabText 更新滑块中某些内容的显示(使用Twitter Bootstrap 的Carousel 插件)。

根据 Bootstrap 的 Carousel 插件的 Twitter 文档(http://twitter.github.com/bootstrap/javascript.html#carousel),我正在尝试使用slide事件,以便我重新调用 SlabText 以使其正确显示。

使用开发人员工具,我可以看到 Carousel在处理一个元素到下一个元素.next的幻灯片时添加了一个类。.item然后在.active转移类之前将其删除。

我可以毫无问题地访问“幻灯片”事件,但试图抓住.next元素被证明很麻烦。到目前为止,这是我的代码的 JSFiddle:http: //jsfiddle.net/peHDQ/

简单地说我的问题;我应该如何正确使用slide事件来触发功能?

请让我知道是否有任何其他信息有用。


进一步说明:

由于我一直无法掌握.next课程,因此我正在尝试使用一些 jQuery 来做到这一点。到目前为止,这是我的代码:

$('.carousel').carousel({
    interval: 5000
}).on('slide', function (e) {
    $(this).find('.active').next().find('.slab').slabText();
});

据我了解,这应该是抓取每个.slab元素并触发 SlabText 插件......唉,我收到一个错误:

“未捕获的类型错误:对象 [对象对象] 没有方法 'slabtext'”

谁能告诉我在这里做错了什么......?我使用完全相同的过程来添加一个类,它工作正常(根据这个 JSFiddle:http: //jsfiddle.net/peHDQ/2/

4

1 回答 1

14

我发现了问题。问题是在下一张幻灯片可见之前调用了事件“幻灯片”。我添加了一点延迟,现在它工作正常。试试这个:

   $('.carousel').carousel({
       interval: 5000
   }).on('slide', function (e) {
       var xx = $(this);
       setTimeout(function() {
           xx.find('.active').next().find('.slab').slabText();
       } , 0);
   });
于 2013-02-20T18:39:06.237 回答