嗨,我正在用Javascript構建我的投資組合的JavaScript滑塊。幻燈片工作正常,但是當我添加淡入淡出過渡時,我不斷在兩張幻燈片之間獲得白色閃光。任何人都知道如何在它們之間建立平滑的淡入淡出?Javascript幻燈片白色屏幕
這是我的工作小提琴:https://jsfiddle.net/t9ezr8wr/2/
我的javascript:
$(function() {
var theInterval; // Slide speed
var images = new Array();
var counter = 1;
var defaultSettings = {
"sliderContainer": "#slider" // SliderContainer
, "pauseWithMouse": true // Turn on/off pause with mouse
, "sliderSpeed": 3000 // Slide speed
, "transitionSpeed": 200 // transition speed
};
// intialize slider
// if myImages exists then
images = myImages;
if (images.length > 0) {
$(defaultSettings.sliderContainer).append('<img id="sliderImg" width="900" src="' + images[0] + '" />');
startSlide(images);
}
function cycleImages(images) {
if (counter >= images.length) {
counter = 0;
}
console.log(counter);
document.getElementById("sliderImg").src = images[counter];
counter++;
var images = $('#sliderImg')
var now = images.filter(':visible')
var next = now.next().length ? now.next() : images.first()
var speed = defaultSettings.transitionSpeed; //Transition speed
now.fadeOut(speed);
next.fadeIn(speed);
}
function startSlide() {
console.log('start');
theInterval = setInterval(function() {
cycleImages(images);
}, defaultSettings.sliderSpeed);
// Set interval time
};
var stopSlide = function() { // Stop slides on hover
console.log('stop');
if (defaultSettings.pauseWithMouse) {
clearInterval(theInterval);
}
};
$('#sliderImg').on('mouseover', function() { // Stop slides on mouseover
stopSlide();
});
$('#sliderImg').on('mouseout', function() { // Continue with slides on mouseout
startSlide();
});
});
我認爲這個問題是'''now.fadeOut()'''和'''next.fadeIn()'''。我認爲在''''next'''之前'''now'''完全淡出甚至開始淡入 - 這意味着在''''''''結尾和'''next''之間有一段短暫的時間間隔。 ''從沒有圖像可見的地方開始。 –