所以我有一个小问题(类似于我前几天发布的这个问题: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插件....唉,我得到一个错误:
“Uncaught TypeError:Object [object Object]没有方法'slabtext'”
任何人都可以告诉我这里做错了什么吗?我已经使用完全相同的过程来添加一个类,它工作正常(按照这个JSFiddle:http://jsfiddle.net/peHDQ/2/ )
答案 0 :(得分:14)
我发现了问题。问题是在下一张幻灯片可见之前调用事件“幻灯片”。我加了一点延迟,现在工作正常。试试这个:
$('.carousel').carousel({
interval: 5000
}).on('slide', function (e) {
var xx = $(this);
setTimeout(function() {
xx.find('.active').next().find('.slab').slabText();
} , 0);
});