我试图在成功的ajax调用后重新初始化猫头鹰carousel。ajax调用将更改数据,但视图应该保持不变。我遇到了视图(carousel结构)不会重新初始化的问题。页面加载时一切正常。
我使用的是版本1.3.3
$(document).ready(function() {
$(".owl-carousel").owlCarousel({
items : 3
});
});
Ajax调用
$.ajax({
type: 'get',
url: '/public/index',
dataType: 'script',
data: data_send,
success: function(data) {
$(".owl-carousel").owlCarousel({
items: 3
});
}
});
}
我是否错过了一些我需要做的事情?我已经在Github页面上看过这个问题,并尝试了建议,但无济于事。
编辑
根据给出的建议,我创建了这两个函数
function owlCarousel() {
var owl = $(".owl-carousel");
//init carousel
owl.owlCarousel();
owl.data('owlCarousel').reinit({
items : 3
});
}
function destroyOwlCarousel() {
var owl = $(".owl-carousel");
//init carousel
owl.owlCarousel();
owl.data('owlCarousel').destroy();
}
}
它似乎工作,但不知道这是否是正确的方式来做这件事?
8条答案
按热度按时间iqxoj9l91#
f4t66c6m2#
下面的例子很有效。
初始化转盘:
当你使用ajax回调函数时,尝试一下:
我创建一个小提琴来解释如何重新初始化carousel:http://jsfiddle.net/s10bgckL/959/
附言:我没有创建一个数组的选项,只是如果你想修改一些参数,如速度,显示项目的数量等。
希望能有所帮助。
wmtdaxz33#
这个在版本2中对我有效
qyswt5oh4#
这应有助于:
um6iljoc5#
试试看,它存在于owl documention中:
vpfxa7rd6#
我经历了同样的问题,并尝试了
reinit()
方法,但它对我不起作用,所以我再次尝试destroy和init,它起作用了。j5fpnvbx7#
看看这个:
经过多次尝试,我做到了。谢谢。
monwx1rj8#
尝试使用
$(window).load()
而不是reinitialize