gpt4 book ai didi

javascript - 使用 Cycle2 的响应式轮播

转载 作者:行者123 更新时间:2023-11-30 17:41:32 25 4
gpt4 key购买 nike

我正在使用 cycle2 制作旋转木马和 cycle2-carousel插件。

找到一个solution here根据调整后的窗口宽度显示可变数量的项目。

问题是轮播由于另一张幻灯片而中断。

一切正常,直到主幻灯片循环播放第一张幻灯片,然后在调整页面大小时轮播仅显示一张幻灯片。

演示

http://jsfiddle.net/yDRj4/1/

jQuery

function buildCarousel(visibleSlides) {
$('.caro').cycle({
fx: 'carousel',
speed: 600,
slides: 'img',
carouselVisible: visibleSlides,
carouselFluid: true
});
}
function buildSlideshow() {
$('.home-slideshow').cycle({
fx: 'fade',
slides: 'img',
timeout: 12000
});
}

function initCycle() {
var width = $(document).width();
var visibleSlides = 5;

if ( width < 400 ) {visibleSlides = 1}
else if(width < 700) {visibleSlides = 3}
else {visibleSlides = 5};

buildSlideshow();
buildCarousel(visibleSlides);
}

function reinit_cycle() {
var width = $(window).width();
var destroyCarousel = $('.caro').cycle('destroy');

if ( width < 400 ) {destroyCarousel;reinitCycle(1);}
else if ( width > 400 && width < 700 ) {destroyCarousel; reinitCycle(3);}
else {destroyCarousel;reinitCycle(5);}
}

function reinitCycle(visibleSlides) {
buildCarousel(visibleSlides);
}
var reinitTimer;
$(window).resize(function() {
clearTimeout(reinitTimer);
reinitTimer = setTimeout(reinit_cycle, 100);
});

$(document).ready(function(){
initCycle();
});

HTML

<div class='main' style="max-width: 950px;margin: auto;">
<div class="home-slideshow" style="margin-bottom: 150px;">
<img style="width: 100%" src="http://placehold.it/950x250" alt="">
<img style="width: 100%" src="http://placehold.it/950x250" alt="">
</div>
<div class="caro" >
<img src="http://placehold.it/300x300" alt="">
<img src="http://placehold.it/300x300" alt="">
<img src="http://placehold.it/300x300" alt="">
<img src="http://placehold.it/300x300" alt="">
<img src="http://placehold.it/300x300" alt="">
<img src="http://placehold.it/300x300" alt="">
</div>
</div>

最佳答案

出于某种原因,在第一个幻灯片转换之后,当它重新创建轮播时,它会将所有图像的不透明度设置为 0。

在初始化轮播后添加 $('.caro img').css('opacity','1'); 修复了它,但我确信有更好的解决方案,但您可能需要深入了解插件的来源。

http://jsfiddle.net/cZTxM/2/

关于javascript - 使用 Cycle2 的响应式轮播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20980890/

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