var carouselitems = $("#bestselling .carousel-inner .product");
for(var i = 0; i < carouselitems.length; i+=count) {
carouselitems.slice(i, i+count).wrapAll("<div class='item'></div>");
}
$('#bestselling .carousel-inner .item').first().addClass('active');
我需要脚本的这一部分在count
div中包含每个.item
个元素,但由于我在网站上使用断点(响应),我必须重置count
编号取决于断点,因此可以用作:setCarouselSlides(3);
。
如果我这样做,每当我的div被包裹时,它们会被包含在.item
div的+1层中,这样如果它首先是
<div class="item">
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
</div>
然后在断点之后
<div class="item">
<div class="item">
<div class="product"></div>
<div class="product"></div>
<div class="product"></div>
</div>
</div>
当我启动.item
功能时,如何强制它仅添加setCarouselSlides();
包裹一次?
答案 0 :(得分:0)
检查父元素中是否存在item
css类:
if ( ! carouselitems.last().parent().hasClass("item") ) {
carouselitems.slice(i, i+count).wrapAll("<div class='item'></div>");
}
小提琴here。
答案 1 :(得分:0)
你可以打电话打开
function setCarouselSlides(count){
$("#bestselling .carousel-inner .item .product").unwrap()
var carouselitems = $("#bestselling .carousel-inner .product").unwrap();
for (var i = 0; i < carouselitems.length; i += count) {
carouselitems.slice(i, i + count).wrapAll("<div class='item'></div>");
}
$('#bestselling .carousel-inner .item').first().addClass('active');
}