I have this code here which is working perfectly. It's a simple image and title that on mousehover it shows a descritpion.
<div class="imageCont">
<div class="imgBlock thumbnail">
<a href="<?php the_permalink(); ?>" class="link-to-post" title="<?php the_title_attribute(); ?>" ><img width="300" height="150" src="http://www.tentacle.cat/wp-content/uploads/2014/11/DSC06267_Snapseed-Custom.jpg" class=" vc_box_border_grey attachment-thumbnail" alt="cartell2">
</a>
<div class="undertext">
<h3 class="whiteText upperCase"><?php the_title(); ?> </h3>
<p class="bildText" style="display: none;"><?php the_excerpt('60'); ?></p>
</div>
</div>
</div>
<script>
jQuery(document).ready(function() {
jQuery('.imgBlock').hover(
function() {
jQuery(this).find('.bildText').slideDown(300);
},
function () {
jQuery(this).find('.bildText').slideUp(300);
}
);
});</script>
As I said... this is already working well but when I place it inside a post-type loop, the sliding effect stops working. This post-type loop is also working well by its own... but I'm not able to make this sliding effect to work.
<?php
$args = array(
'numberposts'=>1,
'showpastevents'=>true,
'orderby'=> 'eventstart',
'order'=> 'ASC',
'event-category' => 'portada-mini-a',
'post_type'=>'event'
);
$eventloop = new WP_Query( $args );
if ( $eventloop->have_posts() ) :?>
<?php while ( $eventloop->have_posts() ) : $eventloop->the_post();
?>
<div class="imageCont">
<div class="imgBlock thumbnail">
<a href="<?php the_permalink(); ?>" class="link-to-post" title="<?php the_title_attribute(); ?>" ><img width="300" height="150" src="http://www.tentacle.cat/wp-content/uploads/2014/11/DSC06267_Snapseed-Custom.jpg" class=" vc_box_border_grey attachment-thumbnail" alt="cartell2">
</a>
<div class="undertext">
<h3 class="whiteText upperCase"><?php the_title(); ?> </h3>
<p class="bildText" style="display: none;"><?php the_excerpt('60'); ?></p>
</div>
</div>
</div>
<script>
jQuery(document).ready(function() {
jQuery('.imgBlock').hover(
function() {
jQuery(this).find('.bildText').slideDown(300);
},
function () {
jQuery(this).find('.bildText').slideUp(300);
}
);
});
</script>
<?php
endwhile;
wp_reset_postdata();
?>
I know that inside the loop I should call the thumbnail... but in this case the slide effect it should work anyway, right ? As you can suspect I don't have so much experience in coding so I'd love that someone could give me a hand to sort this out! Thank you very much in advance
cut&paste this block
<script>
jQuery(document).ready(function() {
jQuery('.imgBlock').hover(
function() {
jQuery(this).find('.bildText').slideDown(300);
},
function () {
jQuery(this).find('.bildText').slideUp(300);
}
);
});
</script>
to the very start of your file. you have it inside your loop, so it gets outputted multiple times. you only need this block once. i can imagine that this kills the function, because it gets executed multiple times at once when hovering.
[edit]
use get_the_excerpt()
instead of the_excerpt()
and it will work in your example. for the first 60 chars use substr(get_the_excerpt(),0,60)