我需要更改图像 滑块幻灯片中的图像。
每张幻灯片包含两个图像,它们将在 3 秒后更改。
因此,幻灯片附带第一张图片,3 秒后它将第一张图片更改为第二张图片,再过 3 秒(总共 6 秒)当前幻灯片消失,下一张幻灯片出现。
我的想法是使用setTimeOut
函数并每 3 秒调用另一个图像。所以在 3 秒后fadeOut()
第一张图像和fadeIn()
第二张图像。
我使用cycle2及其cycle-after
和cycle-before
事件尝试了这个:
$('.slide .center img:nth-child(2)').hide(); // hide all slides second images
$('#slides').cycle({
fx: 'scrollHorz',
slides: '>.slide',
timeout: 6000,
prev: '#prev',
next: '#next'
});
$('#slides').on('cycle-before', function(event, optionHash){
setTimeout(function(){
$('.slide:eq('+optionHash.currSlide+') > .center > img:first-child').fadeOut(1000);
console.log($('.slide:eq('+(optionHash.currSlide)+')').attr('slideNum'));
},1000)
setTimeout(function(){
$('.slide:eq('+optionHash.currSlide+') > .center > img:nth-child(2)').fadeIn();
console.log($('.slide:eq('+(optionHash.currSlide)+')').attr('slideNum'));
},2000)
});
$('#slides').on('cycle-after', function(event, optionHash, outgoingSlideEl, incomingSlideEl, forwardFlag) {
$('.center img:first-child',outgoingSlideEl).show();
$('.center img:nth-child(2)',outgoingSlideEl).hide();
});
但这并不像我预期的那样工作。它不会改变图像,它会在按钮next
上中断。prev
如果您看到控制台,您会看到它不会触发.current slide
任何帮助表示赞赏。