Je fais un curseur avec jquery.Jquery Slider. Position précédente
var slidePath = '.testSlider > div.slide';
var sliderDuration = 53000;
var rotate = setInterval(slideShow, sliderDuration);
$(slidePath).hide();
slideShowFirst();
$('.slider-block').hover(function() {
clearInterval(rotate);
}, function() {
rotate = setInterval(function() {
slideShow();
}, sliderDuration);
});
$('.control-right').click(slideShow);
$('.control-left').click(function() {
$(slidePath + ':eq(-2)').fadeIn('slow');
$(slidePath + ':last-child').fadeOut('slow').prependTo('.testSlider');
});
function slideShow() {
$(slidePath + ':last-child').fadeOut('slow');
$(slidePath + ':first-child').fadeIn('slow').appendTo('.testSlider');
}
function slideShowFirst() {
$(slidePath + ':first-child').appendTo('.testSlider').show();
}
Dans mon curseur, il est simple Ken Burns comme effet. Avec l'animation css, l'image de diapositive actuelle est en rotation et zoom avant.
Lorsque je passe à la diapositive PRECEDENTE, l'image actuelle revient à son état initial en une seconde (l'échelle est 100% et sans zoom), puis le la diapositive précédente apparaît. Ça a l'air moche. Quand je vais à la diapositive suivante, je n'ai pas un tel problème.
Qu'est-ce qui ne va pas?
J'ai essayé de changer la fonction de commande gauche sur elle:
$('.control-left').click(function() {
$(slidePath + ':last-child').fadeOut('slow');
$(slidePath + ':eq(-2)').fadeIn('slow');
$(slidePath + ':last-child').prependTo('.reveSlider');
});
Mais je ne change ..
Cela ne fonctionne pas .. Vous pouvez aller au lien jsfiddle pour regarder le problème. Le problème n'est pas dans l'animation jquery Fade. Avant d'utiliser des animations CSS à la place jquery animations et était le même problème ... – user3724896
Si j'utilise fadeOut() avant fadeIn(), il n'y a aucune animation – user3724896
@ user3724896 _ essayé votre violon, je ne comprends pas quel est le problème . il semble fonctionner correctement pour moi –