我使用jQuery Cycle plugin在我的主页上播放了幻灯片。标记非常简单,我使用#slide ul
作为幻灯片容器,并使用#slide ul li
作为每张幻灯片。在每个幻灯片项目中,它会在帖子缩略图的顶部显示标题。
当您将鼠标悬停在缩略图上时,内容摘录会淡入,当您将鼠标悬停在图像上时,内容摘录会淡出。我面临的问题是,当我将鼠标悬停在其中一个缩略图上时,所有内容摘录都会淡入(授予,您无法看到其他内容,但我知道这样做是因为当幻灯片切换到新幻灯片时,下一张幻灯片的内容摘录已经显示。)
我需要知道的是,如何才能使用jQuery将特定幻灯片的内容摘录淡入淡出而不是全部淡出?
希望有人能回答我的问题,我总是投票并选择最佳答案。
这是我的jQuery代码:
$(document).ready(function() {
$('#slide ul').cycle({
fx: 'turnDown',
next: '#slidenext',
prev: '#slideprev',
speed: 600,
delay: 3000
});
$('#slide ul').hover(function() {
$(this).cycle('pause');
$('#slideshow ul .text, #slideshow ul .more').animate({opacity: 'show'});
},function() {
$(this).cycle('resume');
$('#slideshow ul .text, #slideshow ul .more').animate({opacity: 'hide'});
});
$('#slidenext, #slideprev').click(function() {
$('#slideshow ul .text, #slideshow ul .more').animate({opacity: 'hide'});
});
});
幻灯片:
<div id="slide">
<ul>
<?php $my_query = new WP_Query('posts_per_page=3');
if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;?>
<li>
<!-- slide content -->
<img src="<?php bloginfo('template_url'); ?>/images/slide-post-thumb.png" width="750" height="220" alt="" />
<h1><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?>"><?php the_title(); ?></a></h1>
<div class="text"><?php the_excerpt(); ?></div>
<div class="more"><a href="<?php the_permalink(); ?>" title="Read the story <?php the_title(); ?>">Read Story</a></div>
</li>
<?php endwhile; else : ?>
<p>Sorry, no posts found!</p>
<?php endif; ?>
</ul>
</div>
答案 0 :(得分:2)
我认为你的问题是你的选择器过于笼统。试试这个:
$('#slide ul li').hover(function() {
var $li = $(this);
$li.closest('ul').cycle('pause');
$li.find('.text, .more').animate({opacity: 'show'});
},function() {
var $li = $(this);
$li.closest('ul').cycle('resume');
$li.find('.text, .more').animate({opacity: 'hide'});
});
$('#slidenext, #slideprev').click(function() {
$('#slideshow ul li.activeSlide').find('.text, .more').animate({opacity: 'hide'});
});
基本思想是您只想为当前幻灯片的摘录和链接设置动画。您可以通过将悬停添加到<li>
元素,然后从那里搜索.text
和.more
,或者像在.click
处理程序中一样,通过查找{在.text
下{1}}和.more
。我假设您正在使用default activePagerClass
option,如果您正在使用其他内容,请相应地更改li.activeSlide
。