gpt4 book ai didi

javascript - Owl carousel .destroy() 移除不相关的div

转载 作者:行者123 更新时间:2023-11-30 17:03:56 35 4
gpt4 key购买 nike

我想根据视口(viewport)的宽度在轮播 View 和不同的布局之间切换。设置轮播效果很好。当我想删除它时遇到问题。

我使用 $owlTeam.destroy(); 根据文档,它应该在轮播初始化之前重新创建标记的状态,但出于某种原因删除了两个意想不到的关键 div。一个是包装器 div,它是包含轮播的 div 的父级,另一个是轮播 div 本身。

这是我的标记:

<section id="some-id" class="team">
<div class="wrapper"> <!-- this gets removed on destroy -->
<header><!-- content --></header>
<div class="owlCarousel"> <!-- and this gets removed on destroy -->
<article class="big"><!-- content contains another .wrapper --></article>
<article class="big"><!-- content contains another .wrapper --></article>
<article class="small"><!-- content --></article>
<article class="small"><!-- content --></article>
<!-- and some more articles -->
</div>
</div>
</section>

这是我使用的 JS:

var $owlTeam;
if( $window.width() < 680 ) {
$('.team .owlCarousel').owlCarousel({
autoPlay: false
, singleItem:true
, transitionStyle : "fade"
, pagination : true
});
$owlTeam = $('.team .owlCarousel').data('owlCarousel');
}

$window.resize(function() {
if( $window.width() < 680 ) {
$('.team .owlCarousel').owlCarousel({
autoPlay: false
, singleItem:true
, transitionStyle : "fade"
, pagination : true
});
$owlTeam = $('.team .owlCarousel').data('owlCarousel');
} else {
if( typeof $owlTeam != 'undefined' ) {
$owlTeam.destroy();
}
}
});

我尝试使用 ID 直接选择应该包含轮播的 div,但这根本没有改变行为。我可以使用 JS 重新插入丢失的标记,但这似乎更像是创可贴而不是正确的解决方案。

是什么导致了这种行为,我该如何解决?

jQuery 版本:1.11.1猫头鹰版本:1.3.2我测试的浏览器:FF 35、Chrome 40

最佳答案

这是一个报告的错误: https://github.com/smashingboxes/OwlCarousel2/issues/460

无论如何你可以试试这个来破坏 Owl Carousel :

$('#your_carousel').trigger('destroy.owl.carousel').removeClass('owl-carousel owl-loaded');
$('#your_carousel').find('.owl-stage-outer').children().unwrap();

关于javascript - Owl carousel .destroy() 移除不相关的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369409/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com