在这里,我有一个页面,其中 Ajax 在 id="Products" 中的数据发生了变化,但这里的滑块无法正常工作。当数据更改时,滑块不起作用。
在控制台中,我收到此错误。未捕获的类型错误: $(...)。猫头鹰旋转木马不是一个功能
我也尝试将滑块 css 和 js 放在 Ajax 文件中。但仍然不起作用。也看了很多SO问题,但没有找到任何完美的解决方案。
<div id="products">
<div class="owl-carousel color-options">
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/1.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/2.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/3.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/4.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/5.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/1.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/2.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/3.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/4.png"></a></div>
<div><a href="javascript:void(0);" data-full="image/2.png"><img src="image/5.png"></a></div>
</div>
</div>
</div>
<script>
$('.color-options').owlCarousel({
loop:true,
margin:10,
nav:true,
items:4,
})
</script>
在 AJAX 调用的success:
函数中,您必须重新初始化 Owl 滑块。
success: function() {
//Add success code here
$('.color-options').owlCarousel({
loop:true,
margin:10,
nav:true,
items:4
})
}
这将强制 Owl 滑块从更改的数据重新生成滑块。
关于stackoverflow的类似问题在这里和这里。您确定您加载了轮播插件(js 文件)吗?尝试在 jquery lib 之后将其移动到脚本的顶部。
<!-- Include js plugin -->
<script src="assets/owl-carousel/owl.carousel.js"></script>
<script>
$('.color-options').owlCarousel({
loop:true,
margin:10,
nav:true,
items:4,
})
</script>
尝试在成功函数中销毁并重新初始化轮播
owl = $('.color-options');
owl.data('owlCarousel').destroy();
owl.owlCarousel({
loop:true,
margin:10,
nav:true,
items:4,
});