Cannot configure the timing on my CSS animations inside flexslider

Okay. Here's what I'm trying to do and have partially done.

I'm using Flexslider on individual pages on the site. Each page has a unique slider. On some of the individual slides there is a short transition, a fade in image.

I'm using Advanced Custom fields Repeater field, nested.

My problem is with the delay for the fade in image. I've got it so that the image fades in when the slide is active and has .flex-active-slide class. A

Right now, on first slide of this page the fade in image shows up almost instantaneously and fades out at the end revealing the first bottom image for a few seconds. The second slide is doing the sequence twice. First time fade in slide is immediate, second time fading in really slow. nd I've been manipulating the CSS animation properties, but I'm a novice at animating and keyframes. And now it's just a hot mess!

What I'm trying to achieve is that current slide is visible for about 10 seconds, then .top img quickly fades in, stays for about 10 seconds, til next slide comes along. Then next slide moves in and animation is repeated.

What am I doing wrong?

Here's my code:

Template code:

<div class="entry-content">
		<div class="flexslider">
		
		<?php 
		$args = array( 'post_type' => 'slide', 'posts_per_page' => 10 );
		$the_query = new WP_Query( $args ); 
		$i = 1;
		?>
		<?php if( have_rows('slider') ): ?>
			<ul id="slideshow" class="slides"> 
				<?php while( have_rows('slider') ): the_row(); ?>
				
				<li class="slide-<?php echo $i++; ?>">
					
			  	<img src="<?php the_sub_field('slide'); ?>">
			  	<?php if( have_rows('transition_slides') ): ?>
					<?php while( have_rows('transition_slides') ): the_row(); ?>
			  	<img class="top" src="<?php the_sub_field('transition_slide'); ?>">
			  	<?php endwhile; ?>
			  	<?php endif; ?>
				</li>
		
				<?php endwhile; ?>	
			</ul><!-- slideshow -->	
			<?php endif; ?>
		</div><!-- .flexslider -->
	</div><!-- .entry-content -->

Open in new window


CSS:

.flexslider .slides img.top {
	position: absolute;
	top: 0;
	left: 0;
}
.flexslider .slides .flex-active-slide img.top {
	animation: fadeIn ease-in 1;
	animation-duration: 6s;
	animation-direction: alternate;
	animation-delay: 20s;
	animation-fill-mode:forwards;
}
@keyframes fadeIn {
	from {
    opacity: 0;
  }
  
  to {
    opacity: 1;
  }
}

Open in new window


Initialization Code for Flexslider:

<script>
			jQuery(document).ready(function($) {
       jQuery('.flexslider').flexslider({
			    animation: "fade",
			    animationSpeed: 1000,
			    slideshowSpeed: 6000,
			    directionNav: false,
			    controlNav: false,
			    after: function (slider) {
            if ((slider.currentSlide + 1) == slider.count) {
                 slider.pause();
            }
        	} 
			  });
      });
    </script>

Open in new window

LVL 8
Alicia St RoseOwner & Principle Developer/DesignerAsked:
Who is Participating?
 
Alicia St RoseOwner & Principle Developer/DesignerAuthor Commented:
I think I've got this now.

It's a combo of adjusting Flexslider and the CSS animation-delay and animation-duration.

The caching on the Server threw me. So, I'm okay now.
0
 
Alicia St RoseOwner & Principle Developer/DesignerAuthor Commented:
OMG! One issue was Supercacher turned on at Siteground, so none of my file changes were being recognized. Nice. Only 4 hours of head banging.... :/

So, I see a better transition, but not exactly what I'm after....
0
 
Alicia St RoseOwner & Principle Developer/DesignerAuthor Commented:
I figured it out. Damn Supercacher was enabled on the site in Siteground.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.