gpt4 book ai didi

jquery - Slick Carousel - 在模式选项卡/窗口内浏览时图像卡在垂直位置

转载 作者:行者123 更新时间:2023-11-28 14:44:52 27 4
gpt4 key购买 nike

我正在使用带有模态内容的 Slick 轮播。一切正常,但是当尝试使用打开的选项卡/窗口中的上一个/下一个处理程序从一个元素浏览到另一个元素时。图像卡在垂直位置。

<section>
<div>
<a data-open="first-project" class="card cell aos-init" data-aos="slide-up" aria-controls="project-1" aria-haspopup="true" tabindex="0">
<div><img src="first-project-1.jpg"></div>
</a>
</div>

<div>
<a data-open="second-project" class="card cell aos-init" data-aos="slide-up" aria-controls="project-1" aria-haspopup="true" tabindex="0">
<div><img src="second-project-1.jpg"></div>
</a>
</div>
</section>

<div class="reveal modal" id="first-project" data-reveal data-close-on-click="true" data-animation-in="slide-in-right" data-animation-out="slide-out-right" data-resize="first-project">

<div><a data-open="second-project"><span>Next </span><i class="fas fa-caret-right"></i></a></div>

<div class="carousel">
<div><img src="first-project-1.jpg"></div>
<div><img src="first-project-2.jpg"></div>
<div><img src="first-project-3.jpg"></div>
<div><img src="first-project-4.jpg"></div>
</div>

<a class="close-button close-reveal-modal" aria-label="Close" data-close <span aria-hidden="true">X</span></a>
</div>

<div class="reveal modal" id="second-project" data-reveal data-close-on-click="true" data-animation-in="slide-in-right" data-animation-out="slide-out-right" data-resize="second-project">

<div><a data-open="first-project"><i class="fas fa-caret-left"></i> <span class="pr-txt">Previous</span></a></div>

<div class="carousel">
<div><img src="second-project-1.jpg"></div>
<div><img src="second-project-2.jpg"></div>
<div><img src="second-project-3.jpg"></div>
<div><img src="second-project-4.jpg"></div>
</div>

X

$(document).on('open.zf.reveal', '[data-reveal]', function () {
var modal = $(this);
$('.carousel').slick({
autoplay: true,
infinite: true,
arrows:true,
nextArrow: '<i class="fas fa-caret-right"></i',
prevArrow: '<i class="fas fa-caret-left"></i',
autoplaySpeed: 3000,
speed: 1500,
slidesToShow: 2,
slidesToScroll:1
});
});

$(document).on('closed.zf.reveal', '[data-reveal]', function () {
var modal = $(this);
$('.carousel').slick('unslick');
});

问题可能是因为“unslick”,但我必须使用它才能在打开模态窗口时保持 slider 正常工作。如果没有“unslick”,轮播无法正确加载(有时显示速度很快,有时显示 slider 需要一些时间)。

谢谢。

最佳答案

你需要更换

 $('.carousel').slick(...)

$('.carousel', this).slick(...)

它只会针对当前模式中的 .carousel,它在显示回调中被 this 引用。

此外,在模态 close 上销毁 slick 可能是个好主意,而不是在 closed 上(最好在模态关闭时销毁它,而不是关闭后)。如果它被销毁得太早,请将其保留在closed 状态。


请注意您有严重的标记问题(即:您的链接 src 属性未关闭)。您可能希望通过 HTML 验证器运行您的代码,直到您解决所有验证问题。

在那之后,以下应该起作用:

$(document).on('open.zf.reveal', '[data-reveal]', function () {
$('.carousel', this).slick({
autoplay: true,
infinite: true,
arrows:true,
nextArrow: '<i class="fas fa-caret-right"></i',
prevArrow: '<i class="fas fa-caret-left"></i',
autoplaySpeed: 3000,
speed: 1500,
slidesToShow: 2,
slidesToScroll:1
});
}).on('close.zf.reveal', '[data-reveal]', function () {
$('.carousel', this).slick('unslick');
});

关于jquery - Slick Carousel - 在模式选项卡/窗口内浏览时图像卡在垂直位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52466838/

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