Estoy tratando de crear un control deslizante de fondo para un sitio web de wordpress. Es un control deslizante de ancho completo, y tiene cuatro diapositivas. Lo que he hecho es crear 4 clases separadas para cada imagen, y estoy intentando fadeIn
Cada clase, una tras otra, después de un intervalo de 5 segundos.
Soy nuevo en esto, por lo que mi código NO es la mejor práctica, estoy seguro, y francamente ni siquiera funciona. Pero aquí está, me pregunto si alguien tiene alguna sugerencia sobre qué otra cosa podría hacer.
if(jQuery(".background").hasClass("image-1")){
jQuery(".image-1").fadeOut(5000, function() {
jQuery(this).removeClass("image-1");
});
jQuery("image-2").fadeIn(5000, function() {
jQuery(this).addClass("image-2");
});
}else if(jQuery(".background").hasClass("image-2")){
jQuery(".image-").fadeOut(5000, function() {
jQuery(this).removeClass("image-2");
});
jQuery("image-3").fadeIn(5000, function() {
jQuery(this).addClass("image-3");
});
}else if(jQuery(".background").hasClass("image-3")){
jQuery(".image-").fadeOut(5000, function() {
jQuery(this).removeClass("image-3");
});
jQuery("image-4").fadeIn(5000, function() {
jQuery(this).addClass("image-4");
});
}
Respuestas
0 para la respuesta № 1en lugar de múltiples, si y si no la declaración puede usar cada bucle en jQuery Aquí está el código de ejemplo. Esto puede ayudarte.
var i =1;
jQuery(".background").each(function(){
if(jQuery(this).hasClass("image-"+i)){
jQuery(".image-"+i).fadeOut(5000, function() {
jQuery(this).removeClass("image-"+i);
});
jQuery("image-"+(i+1)).fadeIn(5000, function() {
jQuery(this).addClass("image-"+(i+1));
});
}
});
0 para la respuesta № 2
Descubrí una mejor manera con la ayuda de un amigo. Hizo tres divs, creó este código para atenuarlos dentro y fuera en intervalos de 3 segundos.
$(document).ready(function() {
var imgcnt = 3;
var curimage = 1;
imageinterval = setInterval(function() {
var newimg;
if (curimage == imgcnt) newimg = 1;
else newimg = curimage + 1;
$("#image" + curimage).fadeToggle(1000);
$("#image" + newimg).fadeToggle(1000);
curimage = newimg;
}, 3000);
});
0 para la respuesta № 3
No estoy seguro de si esto es lo que estás buscando, pero intenta
$(".background").addClass("image-3");
var bg = $(".background");
if ( bg.hasClass("image-1") ){
$(".image-1").fadeOut(5000, function() {
bg.removeClass("image-1").addClass("image-2");
$(".image-2").fadeIn(5000);
});
} else if ( bg.hasClass("image-2") ) {
$(".image-2").fadeOut(5000, function() {
bg.removeClass("image-2").addClass("image-3");
$(".image-3").fadeIn(5000);
});
} else if (bg.hasClass("image-3")) {
$(".image-3").fadeOut(5000, function() {
bg.removeClass("image-3").addClass("image-4");
$(".image-4").fadeIn(5000);
});
}